iostat

监视系统输入输出设备和CPU的使用情况

补充说明

iostat命令 被用于监视系统输入输出设备和CPU的使用情况。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。

语法

  1. iostat(选项)(参数)

选项

  1. -c:仅显示CPU使用情况;
  2. -d:仅显示设备利用率;
  3. -k:显示状态以千字节每秒为单位,而不使用块每秒;
  4. -m:显示状态以兆字节每秒为单位;
  5. -p:仅显示块设备和所有被使用的其他分区的状态;
  6. -t:显示每个报告产生时的时间;
  7. -V:显示版号并退出;
  8. -x:显示扩展状态。

参数

  • 间隔时间:每次报告的间隔时间(秒);
  • 次数:显示报告的次数。

实例

iostat -x /dev/sda1来观看磁盘I/O的详细情况:

  1. iostat -x /dev/sda1
  2. Linux 2.6.18-164.el5xen (localhost.localdomain)
  3. 20100326
  4. avg-cpu: %user %nice %system %iowait
  5. %steal %idle
  6. 0.11 0.02 0.18 0.35
  7. 0.03 99.31
  8. Device: tps Blk_read/s Blk_wrtn/s
  9. Blk_read Blk_wrtn
  10. sda1 0.02 0.08
  11. 0.00 2014 4

详细说明:第二行是系统信息和监测时间,第三行和第四行显示CPU使用情况(具体内容和mpstat命令相同)。这里主要关注后面I/O输出的信息,如下所示:

标示 说明
Device 监测设备名称
rrqm/s 每秒需要读取需求的数量
wrqm/s 每秒需要写入需求的数量
r/s 每秒实际读取需求的数量
w/s 每秒实际写入需求的数量
rsec/s 每秒读取区段的数量
wsec/s 每秒写入区段的数量
rkB/s 每秒实际读取的大小,单位为KB
wkB/s 每秒实际写入的大小,单位为KB
avgrq-sz 需求的平均大小区段
avgqu-sz 需求的平均队列长度
await 等待I/O平均的时间(milliseconds)
svctm I/O需求完成的平均时间
%util 设备带宽的使用率,达到100%表示饱和,达到性能瓶颈,如果是支持处理并发请求的设备则不代表性能瓶颈。