【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状况。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值