Linux iostat命令查看服务器磁盘I/O状态
命令:iostat [-c|-d] [-m] [-t] [时间间隔] [检测次数]
参数:
-c :仅显示cpu的状态
-d :仅显示存储设备的状态,不可以和-c一起使用
-t :显示日期
-m:默认显示的是读入读出的block信息,用-m可以改成MB大小来显示
使用方法
iostat -m
avg-cpu: %user %nice %system %iowait %steal %idle
0.21 0.00 0.14 0.06 0.03 99.56Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 3.36 0.03 0.03 392872 373937
sda1 2.62 0.00 0.02 5735 295141
sda2 0.00 0.00 0.00 30 0
sda3 0.74 0.03 0.01 387092 78795
sdb 2.02 0.01 0.04 187182 537828
sdc 3.06 0.16 0.02 2089196 258465
dm-10 0.00 0.00 0.00 60 0
dm-11 0.02 0.00 0.00 689 722
dm-27 0.00 0.00 0.00 60 0
以上显示分为上下两个部分,上半部分显示CPU的信息,下面的数据,显示存储设备的相关数据,它的数据意义如下:avg-cpu: 总体cpu使用情况统计信息,对于多核cpu,这里为所有cpu的平均值
Device:设备/硬盘名称
tps:平均每秒钟的传送次数,与数据传输“次数”相关,非容量
MB_read/s:启动到现在的平均读取单位
MB_wrtn/s:启动到现在的平均写入单位
MB_read:启动到现在总共读出来的文件 单位
MB_wrtn:启动到现在总共写入的文件单位
演示:
iostat -k 2 2
KB单位显示;2秒间隔;检查2次
(注:其中每一次的统计都是上一次的统计时间到这次的统计时间之间的统计数据)
[root@cl-535 tmp]# iostat -k 2 2
Linux 2.6.18-128.1.6.el5.xs5.5.0.505.1024xen (cl-535.volumedrive.com) 02/03/2012
avg-cpu: %user %nice %system %iowait %steal %idle
0.21 0.00 0.14 0.06 0.03 99.56Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 3.36 30.43 29.19 402322229 386006600
sda1 2.63 0.45 23.09 5894513 305319892
sda2 0.00 0.00 0.00 31211 0
sda3 0.74 29.98 6.10 396382678 80686708
sdb 2.01 14.50 41.66 191729428 550782462
sdc 3.05 0.50 20.16 6572557 266617079
dm-10 0.00 0.00 0.00 61948 0
dm-11 0.02 0.05 0.06 705813 739480
dm-27 0.00 0.00 0.00 61948 0avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 0.00 0.00 0.00 100.00Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.00 0.00 0.00 0 0
sda1 0.00 0.00 0.00 0 0
sda2 0.00 0.00 0.00 0 0
sda3 0.00 0.00 0.00 0 0
sdb 0.00 0.00 0.00 0 0
sdc 2.49 177.11 0.00 356 0
dm-10 0.00 0.00 0.00 0 0
dm-11 0.00 0.00 0.00 0 0
dm-27 0.00 0.00 0.00 0 0
加“-x”参数,更详细统计io设备信息
iostat -x -d -k
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 9915.00 1.00 90.00 4.00 34360.00 755.25 11.79 120.57 6.33 57.60
rrqm/s:每秒对该设备的读请求被合并次数,文件系统会对读取同块(block)的请求进行合并
wrqm/s:每秒对该设备的写请求被合并次数
r/s: 每秒完成的读次数
w/s: 每秒完成的写次数
rkB/s: 每秒读数据量(kB为单位)
wkB/s: 每秒写数据量(kB为单位)
avgrq-sz:平均每次IO操作的数据量(扇区数为单位)
avgqu-sz::平均等待处理的IO请求队列长度
await:平均每次IO请求等待时间(包括等待时间和处理时间,毫秒为单位)
svctm:平均每次IO请求的处理时间(毫秒为单位)
%util:采用周期内用于IO操作的时间比率,即IO队列非空的时间比率
对于以上示例输出示例说明:
每秒向磁盘上写30M左右数据(wkB/s值)
每秒有91次IO操作(r/s+w/s),其中以写操作为主体
平均每次IO请求等待处理的时间为120.57毫秒,处理耗时为6.33毫秒
等待处理的IO请求队列中,平均有11.79个请求驻留