lishupeng0 2011-07-23
iostat 命令详解
iostat 用于输出 CPU 和磁盘 I/O 相关的统计信息。
命令格式:
iostat [ -c | -d ] [ -k | -m ] [ -t ] [ -V ] [ -x ][ device [...] | ALL ] [ -p [ device | ALL ] ] [ interval [ count ]]
1) iostat 命令的简单使用
iostat 命令可以显示 CPU 和 I/O 系统的负载情况及分区状态信息。
直接执行 iostat 命令可以显示下面的内容:
# iostat
# iostat -xm
(带 xm 参数显示扩展信息并将磁盘数据有每扇区改为每兆显示【1扇区等于512字节】)
Linux 2.6.33.3 ((none)) 12/17/10
avg-cpu: %user %nice %system %ioswait %stcal %idle
0.05 0.00 2.00 0.03 0.00 97.92
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s
各项输出项目的含义如下:
avg-cpu 段:
%user: 在用户级别运行所使用 CPU 的百分比。
%nice: nice 操作所使用 CPU 的百分比。
%sys: 在系统级别(kernel)运行所使用 CPU 的百分比。
%iowait: CPU等待硬件 I/O 时,所占用 CPU 百分比。
%idle: CPU 空闲时间的百分比。
Device段:
tps:每秒钟发送到的 I/O 请求数
Blk_read/s:每秒读取的 block 数
Blk_wrtn/s:每秒写入的 block 数
Blk_read:读入的 block 总数
Blk_wrtn:写入的 block 总数
2) iostat 命令的参数说明
iostat 各个参数说明:
-c 仅显示 CPU 统计信息。与 -d 选项互斥。
-d 仅显示磁盘统计信息。与 -c 选项互斥。
-k 以 K 为单位显示每秒的磁盘请求数,默认单位块。
-p device | ALL
与 -x 选项互斥,用于显示块设备及系统分区的统计信息,也可以在 -p 后指定一个设备名,如:
# iostat -p hda
或显示所有设备:
# iostat -p ALL
-t 在输出数据时,打印收集数据的时间。
-V 打印版本号和帮助信息。
-x 输出扩展信息。
3) iostat 命令输出项目说明
Blk_read 读入块的总数
Blk_wrtn 写入块的总数
kB_read/s 每秒从驱动器读入的数据量,单位为 K。
kB_wrtn/s 每秒向驱动器写入的数据量,单位为 K。
kB_read 读入的数据总量,单位为 K。
kB_wrtn 写入的数据总量,单位为 K。
wrqm/s 将写入请求合并后,每秒发送到设备的写入请求数。
r/s 每秒发送到设备的读入请求数。
w/s 每秒发送到设备的写入请求数。
rsec/s 每秒从设备读入的扇区数。
wsec/s 每秒向设备写入的扇区数。
rkB/s 每秒从设备读入的数据量,单位为 K。
wkB/s 每秒向设备写入的数据量,单位为 K。
avgrq-sz 发送到设备的请求的平均大小,单位是 扇区。
avgqu-sz 发送到设备的请求的平均队列长度。
await I/O 请求平均执行时间,包括发送请求和执行的时间。单位是 毫秒。
svctm 发送到设备的 I/O 请求的平均执行时间。单位是 毫秒。
%util 在 I/O 请求发送到设备期间,占用 CPU 时间的百分比。用于显示设备的带宽利用率。
当这个值接近 100% 时,表示设备带宽已经占满。