Linux iostat命令
iostat用于输出CPU和磁盘I/O相关的统计信息.
命令格式: www.zhishiwu.com
iostat [ -c | -d ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ device [ ... ] | ALL ] [ -p [ device | ALL ] ]
[ interval [ count] ]
iostat各个参数说明:
-c 仅显示CPU统计信息.与-d选项互斥.
-d 仅显示磁盘统计信息.与-c选项互斥.
-k 以K为单位显示每秒的磁盘请求数,默认单位块.
-p device | ALL
与-x选项互斥,用于显示块设备及系统分区的统计信息.也可以在-p后指定一个设备名,如: www.zhishiwu.com
# iostat -p hda
或显示所有设备
# iostat -p ALL
-t 在输出数据时,打印搜集数据的时间.
-V 打印版本号和帮助信息.
-x 输出扩展信息.
常见用法
iostat -d -k 1 10 #查看TPS和吞吐量信息
iostat -d -x -k 1 10 #查看设备使用率(%util)、响应时间(await)
iostat -c 1 10 #查看cpu状态
1、iostat的直接使用如下:
[html]
[root@c1 ~]# iostat
Linux 2.6.18-164.el5 (c1) 03/01/2013
avg-cpu: %user %nice %system %iowait %steal %idle
3.16 0.05 10.26 5.71 0.00 80.82
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 28.26 1311.15 129.20 582688 57418
sda1 1.34 5.38 0.02 2389 10
sda2 26.86 1305.12 129.18 580010 57408
sdb 4.30 517.47 1.04 229969 463
sdc 1.54 10.35 0.14 4599 64
sdc1 0.50 6.13 0.14 2726 64
sdd 0.71 5.50 1.10 2443 488
sdd1 0.29 1.21 1.10 538 488
sde 2.46 41.10 7.92 18265 3520
sdf 0.21 2.20 0.16 977 72
sdg 9.35 26.15 2.48 11623 1104
sdg1 0.45 0.98 0.00 437 0
sdg2 0.01 0.01 0.00 5 0
sdg5 0.59 1.29 1.13 574 504
sdg6 0.48 2.12 0.11 942 48
sdg7 0.54 1.09 1.10 486 488
sdg8 0.43 1.11 0.14 494 64
sdg9 0.41 0.98 0.00 437 0
sdg10 0.43 0.89 0.00 397 0
dm-0 62.34 1858.20 138.30 825802 61463
dm-1 0.25 2.02 0.00 896 0
hdc 0.03 0.32 0.00 144 0
各项含义:
avg-cpu段:
%user: 在用户级别运行所使用的CPU的百分比.
%nice:优先进程消耗的CPU时间,占所有CPU的百分比.
%system: 在系统级别(kernel)运行所使用CPU的百分比.
%iowait: CPU等待硬件I/O时,所占用CPU百分比.
%steal: 管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。
%idle: CPU空闲时间的百分比.
Device段:
tps: 每秒钟发送到的I/O请求数.
Blk_read /s: 每秒读取的block数.
Blk_wrtn/s: 每秒写入的block数.
Blk_read: 启动到现在 读入的block总数.
Blk_wrtn: 启动到现在写入的block总数.
2、iostat -d -k 1 1使用如下:
参数 -d 表示,显示设备(磁盘)使用状态(即不显示avg-cpu段的信息);-k某些使用block为单位的列强制使用Kilobytes为单位;1 1表示,数据显示每隔1秒刷新一次,共显示1次。
[css]
[root@c1 ~]# iostat -d -k 1 1
Linux 2.6.18-164.el5 (c1) 03/01/2013
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 6.73 104.39 20.59 341903 67437
sda1 0.18 0.37 0.00 1197 5
sda2 6.54 103.98 20.59 340561 67432
sdb 0.93 36.44 0.16 119344 531
sdc 0.21 0.70 0.01 2299 32
sdc1 0.07 0.42 0.01 1363 32
sdd 0.38 0.37 1.23 1221 4016
sdd1 0.33 0.08 1.23 269 4016
sde 0.93 3.42 2.78 11200 9092
sdf 0.03 0.15 0.01 488 36
sdg 1.84 1.77 2.47 5811 8096
sdg1 0.06 0.07 0.00 218 0
sdg2 0.00 0.00 0.00 2 0
sdg5 0.37 0.09 1.23 287 4024
sdg6 0.07 0.14 0.01 471 24
sdg7 0.36 0.07 1.23 243 4016
sdg8 0.06 0.08 0.01 247 32
sdg9 0.06 0.07 0.00 218 0
sdg10 0.06 0.06 0.00 198 0
dm-0 14.42 143.46 23.54 469885 77091
dm-1 0.03 0.14 0.00 448 0
hdc 0.00 0.02 0.00 72 0
3、iostat -x 11使用
[javascript]
[root@c1 ~]# iostat -x 1 1
Linux 2.6.18-164.el5 (c1) 03/01/2013
avg-cpu: %user %nice %system %iowait %steal %idle
0.49 0.03 1.60 1.11 0.00 96.77
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 2.29 2.93 3.96 1.72 170.80 37.20 36.60 0.03 5.01 2.42 1.38
sda1 0.15 0.00 0.15 0.00 0.60 0.00 4.02 0.00 0.74 0.61 0.01
sda2 2.14 2.93 3.81 1.72 170.13 37.20 37.51 0.03 5.13 2.47 1.37
sdb 0.12 0.00 0.73 0.04 59.62 0.31 78.33 0.01 8.91 4.52 0.35
sdc 0.02 0.00 0.17 0.00 1.15 0.02 6.80 0.00 0.46 0.37 0.01
sdc1 0.00 0.00 0.05 0.00 0.68 0.02 12.57 0.00 1.10 0.86 0.00
sdd 0.01 0.00 0.06 0.31 0.61 2.49 8.27 0.00 0.84 0.82 0.03
sdd1 0.00 0.00 0.02 0.31 0.13 2.49 8.01 0.00 0.89 0.88 0.03
sde 0.01 0.14 0.31 0.54 5.64 5.45 12.98 0.00 3.29 2.16 0.18
sdf 0.00 0.00 0.02 0.00 0.24 0.02 11.28 0.00 2.49 2.38 0.01
sdg 0.16 0.00 1.00 0.63 2.90 5.01 4.86 0.00 0.84 0.45 0.07
sdg1 0.00 0.00 0.05 0.00 0.11 0.00 2.21 0.00 0.07 0.07 0.00
sdg2 0.00 0.00 0.00 0.00 0.00 0.00 1.67 0.00 0.00 0.00 0.00
sdg5 0.01 0.00 0.05 0.31 0.14 2.49 7.29 0.00 1.50 1.50 0.05
sdg6 0.00 0.00 0.05 0.00 0.24 0.01 4.65 0.00 0.49 0.49 0.00
sdg7 0.01 0.00 0.05 0.31 0.12 2.49 7.33 0.00 1.10 1.10 0.04
sdg8 0.01 0.00 0.05 0.00 0.12 0.02 2.89 0.00 0.69 0.69 0.00
sdg9 0.00 0.00 0.05 0.00 0.11 0.00 2.38 0.00 0.48 0.48 0.00
sdg10 0.00 0.00 0.05 0.00 0.10 0.00 2.06 0.00 0.24 0.24 0.00
dm-0 0.00 0.00 6.98 5.37 234.77 42.98 22.48 0.07 6.01 1.37 1.69
dm-1 0.00 0.00 0.03 0.00 0.22 0.00 8.00 0.00 10.86 0.47 0.00
hdc 0.01 0.00 0.00 0.00 0.04 0.00 11.08 0.00 1.77 1.46 0.00
各项含义
rrqm/s: 每秒进行 merge 的读操作数目。即 delta(rmerge)/s
wrqm/s: 每秒进行 merge 的写操作数目。即 delta(wmerge)/s
r/s: 每秒完成的读 I/O 设备次数。即 delta(rio)/s
w/s: 每秒完成的写 I/O 设备次数。即 delta(wio)/s
rsec/s: 每秒读扇区数。即 delta(rsect)/s
wsec/s: 每秒写扇区数。即 delta(wsect)/s
avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。即 delta(rsect+wsect)/delta(rio+wio)
avgqu-sz: 平均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。
await: 平均每次设备I/O操作的等待时间 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio)
svctm: 平均每次设备I/O操作的服务时间 (毫秒)。即 delta(use)/delta(rio+wio)
%util: 一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。即 delta(use)/s/1000 (因为use的单位为毫秒)
如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。
4、iostat -c 1 2使用
[php]
[root@c1 ~]# iostat -c 1 2
Linux 2.6.18-164.el5 (c1) 03/01/2013
avg-cpu: %user %nice %system %iowait %steal %idle
0.44 0.02 1.37 0.91 0.00 97.26
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 0.00 0.00 0.00 100.00