iostat使用详解

8月 25, 2014 |

iostat位于sysstat包中,如果没有请执行yum install sysstat安装

[root@Nix ~]# iostat

Linux 2.6.32-358.el6.x86_64     08/26/2014     _x86_64_    (3 CPU)
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
0.30    0.00    0.24    0.50    0.08   98.89
Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
xvda             10.92       146.65        90.77  619915080  383714468
dm-0             13.59       144.14        87.92  609333842  371675880
dm-1              0.67         2.50         2.85   10573448   12038472
dm-2              0.00         0.00         0.00       1042         80

当不带参数执行iostat,输出的报告包含两部分:cpu的利用率和块设备(硬盘)的利用率。
iostat第一次输出统计的是开机到执行该命令这段时间的统计值。如果指定统计次数比如iostat 5 2 ,表示每5秒执行一次共两次,那么第一次输出统计的是开机到执行该命令这段时间的统计值。第二次统计的是第一次统计到第二次统计这段时间内的统计值。
cup 统计的你系统中的所有cpu的平均值,统计的指标(百分比):

  •     %user: 运行于用户态,
  •     %nice: 用户态且拥有nice优先级,
  •     %system: 系统态,
  •     %iowait: io等待,
  •     %steal: 被vCPU占用,一般是你的系统中的虚拟机占用的cup时间,
  •     %idle: 空闲。

块设备统计指标为:
tps: 每秒吞吐量(transfers per second),
Blk_read/s: 每秒读取的块数,
Blk_wrtn/s: 每秒写入的块数,
Blk_read: 读入的总的块数,
Blk_wrtn: 写入的总的块数;

当带-x 参数执行iostat,会输出块设备更多的统计维度。
[root@Nix ~]# iostat -x

Linux 2.6.32-358.el6.x86_64    08/26/2014     _x86_64_    (3 CPU)
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
0.30    0.00    0.24    0.50    0.08   98.89
Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
xvda              0.01     3.33    2.90    8.02   146.60    90.77    21.74     0.09    8.27   1.53   1.67
dm-0              0.00     0.00    2.60   10.99   144.09    87.92    17.08     0.20   14.52   1.22   1.66
dm-1              0.00     0.00    0.31    0.36     2.50     2.85     8.00     0.02   37.02   0.84   0.06
dm-2              0.00     0.00    0.00    0.00     0.00     0.00     7.96     0.00    3.37   2.21   0.00

统计字段分别为:

  •     rrqm/s:每秒读请求合并后的次数,为了提高效率,os会将多次读请求合并后一次请求存储;
  •     wrqm/s:每秒写请求合并后的次数,
  •     r/s:实际每秒的读请求,
  •     w/s:每秒实际的写请),
  •     rsec/s:每秒读取的sector数,
  •     wsec/s:每秒写入的sector数,
  •     avgrq-sz:每次设备请求的sector平均值;
  •     avgqu-sz:设备队列的平均长度;
  •     await: io请求的平均等待时间,单位毫秒;
  •     svctm:io请求的平均服务时间
  •     %util: 花在io处理上的时间与总时间百分比

常用示例:
1) iostat 5 2
每5秒执行一次, 共执行两次

2)iostat -x 5 2
统计块设备的扩展信息,每5秒执行一次, 共执行两次

3) iostat -c 或者 iostat -d
只统计cpu(-c) 或者块设备(-d)的信息, 且执行一次

Posted in: Uncategorized | Tags: , ,

Comments are closed.