语法如下:
iostat [ -c | -d ] [ -k ] [ -t ] [ -V ] [ -x [ device ] ] [ interval [ count ] ]
-c为汇报CPU的使用情况;
-d为汇报磁盘的使用情况;
-k表示每秒按kilobytes字节显示数据;
-t为打印汇报的时间;
-v表示打印出版本信息和用法;
-x device指定要统计的设备名称,默认为所有的设备;
interval指每次统计间隔的时间;
count指按照这个时间间隔统计的次数。
示例:
# iostat -dktx 1 1 Linux 2.6.32-358.el6.x86_64 (oracledb1) 03/21/2016 _x86_64_ (40 CPU) 03/21/2016 09:59:38 AM Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 90.79 0.17 12.62 17.41 411.43 67.07 0.30 23.63 0.26 0.34 dm-0 0.00 0.00 0.15 78.35 17.01 313.42 8.42 0.56 7.12 0.03 0.22 dm-1 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 3.12 1.59 0.00 sdd 0.00 0.00 0.00 0.00 0.00 0.00 8.34 0.00 0.14 0.14 0.00 sde 0.00 0.00 1.06 0.67 1.06 0.94 2.31 0.00 0.16 0.16 0.03 sdf 0.00 0.00 0.00 0.00 0.00 0.00 8.34 0.00 0.11 0.11 0.00 sdg 0.00 0.00 0.00 0.00 0.00 0.00 8.34 0.00 0.15 0.15 0.00 sdh 0.00 0.00 19.52 0.40 198.44 3.31 20.25 0.00 0.20 0.19 0.38 sdi 0.00 0.00 0.00 0.00 0.00 0.00 8.34 0.00 0.14 0.14 0.00 sdj 0.00 0.00 21.05 0.25 218.80 2.79 20.81 0.00 0.20 0.19 0.40 sdk 0.00 0.00 0.00 0.00 0.00 0.00 8.34 0.00 0.14 0.13 0.00 sdl 0.00 0.00 1.06 0.67 1.04 0.89 2.24 0.00 0.16 0.16 0.03
参数说明:
rrqm/s:
每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的时候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge)
wrqm/s:
每秒这个设备相关的写入请求有多少被Merge了。
r/s:
The number of read requests that were issued to the device per second;
w/s:
The number of write requests that were issued to the device per second;
rkB/s:
每秒读取字节数(kb);
wkB/s:
每秒写入字节数(kb)。
avgrq-sz:
发送到设备的请求的平均大小,单位是扇区.
avgqu-sz:
发送到设备的请求的平均队列长度.
await:
每一个IO请求的处理的平均时间(单位是微秒)。这里可以理解为IO的响应时间,一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了。
%util:
在I/O请求发送到设备期间,占用CPU时间的百分比.如果%util接近100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。