iostat 详解

0 Preview 

iostat 命令主要查看磁盘负载情况,同时也可以查看cpu相关信息

1 Param

  1. -k iostat命令展示的列有些是单位是Block(512B),使用 -k 参数后单位强制变为KB(1024B)。-m
  2. -c 表示打印cpu信息。
  3. -d 表示打印disk信息。
  4. -x 表示打印所有信息,会扩充-d的磁盘信息,同时会附带上cpu信息。
  5. num1 num2 ,前者代表采集数据时间间隔(S),后者代表采集数据次数。
  6. /dev/xxx 设备名称,表示打印对应设备而不打印其他设备(可添加多个设备),不写设备默认打印所有设备
  7. -t 在输出的时候带上时间

如下所示,正在跑一个fio, 4k 顺序写,iostat 命令和结果为

[root@100 /data1/test_fio]# iostat -c -x -k 1 100 /dev/sdb
Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
sdb               0.00 43536.00    0.00  345.00     0.00 175616.00  1018.06   143.94  425.57   2.91 100.40

rrqm/s     wrqm/s          每秒进行 merge 的读/写操作数目.即 delta(rmerge)/s

r/s    w/s                        每秒读/写IO次数     (iops_read = 0    iops_write = 345)

rkB/s   wkB/s                 读/写带宽               (b_read = 0kB/s  b_write = 175616kB/s)

avgrq-sz                        平均IO操作数据大小     (br+bw)/(iops_r+iops_w) = 509kB = 1018 sectors

avgqu-sz                       平均IO队列长度

await                             平均IO操作等待时间

svctm                            平均IO操作服务时间

%util                              一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的


2 data sources

    想知道iostats的数据来源,可以参考 http://ykrocku.github.io/blog/2014/04/11/diskstats/ 

    vim /proc/diskstats

    

    下简单列出格列的含义,注意这里的数据都是累加量。


3 Reference

http://www.ha97.com/4546.html

猜你喜欢

转载自blog.csdn.net/mistakk/article/details/80019431