【io 负载分析 第三步】iotop 使用

2.iotop

有时我们希望知道到底哪个进程产生了IO,这个时候就需要iotop这个工具了。
它的输出和top命令类似,简单直观。官网:http://guichaz.free.fr/iotop/
需要Python 2.5(及以上版本)和 Linux kernel 2.6.20(及以上版本),TASK_DELAY_ACCT,CONFIG_TASKSTATS,TASK_IO_ACCOUNTING,CONFIG_VM_EVENT_COUNTERS这些内核选项开启。

1 [root@roger-lab ~]# yum -y install iotop
直接执行:

Total DISK READ: 43.14 M/s | Total DISK WRITE: 0.00 B/s
02
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
03
 8275 be/4 root       43.12 M/s    0.00 B/s  0.00 % 84.28 % dd if=/dev/sda of=/dev/null
04
 8281 be/4 root       18.65 K/s    0.00 B/s  0.00 %  3.24 % python /usr/bin/iotop
05
    1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % init
06
    2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
07
    3 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/0]
08
    4 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]
09
    5 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/0]
10
    6 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/0]
11
    7 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [events/0]
12
    8 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [cgroup]
13
    9 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [khelper]
14
   10 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [netns]
15
   11 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [async/mgr]
16
   12 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [pm]
17
   13 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [sync_supers]
18
   14 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [bdi-default]
19
   15 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kintegrityd/0]
20
   16 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kblockd/0]
21
   17 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kacpid]
22
   18 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kacpi_notify]
23
   19 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kacpi_hotplug]
24
   20 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ata/0]
25
   21 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ata_aux]




看起来没有什么难度,照例把man翻译一遍:

名称 
       iotop - 简单的top类I/O监视器
总览
       iotop [OPTIONS]
描述
       iotop根据Linux内核(需要2.6.20及以上)来监测I/O,并且能显示当前进程/线程的I/O使用率。
       Linux内核build的事后哦,需要开启CONFIG_TASK_DELAY_ACCT和CONFIG_TASK_IO_ACCOUNTING选项,这些选项依赖于CONFIG_TASKSTATS。
       在采样周期里,iotop按列显示每个进程/线程的I/O读写带宽,同时也显示进程/线程做swap交换和等待I/O所占用的百分比。
  每一个进程都会显示I/O优先级(class/level),另外在最上面显示每个采样周期内的读写带宽。
       使用左右箭头来改变排序,r用来改变排序顺序,o用来触发--only选项,p用来触发--processes选项。
  a用来触发--accumulated选项,q用来退出,i用来改变进程或线程的监测优先级,其它任继健是强制刷新。


选项
       --version 显示版本号然后退出
       -h, --help 显示帮助然后退出
       -o, --only 只显示正在产生I/O的进程或线程。除了传参,可以在运行过程中按o生效。
       -b, --batch 非交互模式,一般用来记录日志
       -n NUM, --iter=NUM 设置监测的次数,默认无限。在非交互模式下很有用
       -d SEC, --delay=SEC 设置每次监测的间隔,默认1秒,接受非整形数据例如1.1
       -p PID, --pid=PID 指定监测的进程/线程
       -u USER, --user=USER 指定监测某个用户产生的I/O
       -P, --processes 仅显示进程,默认iotop显示所有线程
       -a, --accumulated 显示累积的I/O,而不是带宽
       -k, --kilobytes 使用kB单位,而不是对人友好的单位。在非交互模式下,脚本编程有用。
       -t, --time 加上时间戳,非交互非模式。
       -q, --quiet 禁止头几行,非交互模式。有三种指定方式。
              -q     只在第一次监测时显示列名
              -qq    永远不显示列名。
              -qqq   永远不显示I/O汇总。
参见
       ionice(1), top(1), vmstat(1)
作者
       iotop was written by Guillaume Chazarain.
       This manual page was started by Paul Wise for the Debian project and is
       placed in the public domain.

 ok,这篇文章就到这里,大家可以和dd配合使用,做做实验看看自己系统的IO状况。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值