0 Preview
iostat 命令主要查看磁盘负载情况,同时也可以查看cpu相关信息
1 Param
- -k iostat命令展示的列有些是单位是Block(512B),使用 -k 参数后单位强制变为KB(1024B)。-m
- -c 表示打印cpu信息。
- -d 表示打印disk信息。
- -x 表示打印所有信息,会扩充-d的磁盘信息,同时会附带上cpu信息。
- num1 num2 ,前者代表采集数据时间间隔(S),后者代表采集数据次数。
- /dev/xxx 设备名称,表示打印对应设备而不打印其他设备(可添加多个设备),不写设备默认打印所有设备
- -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