«

iostat 命令详解

指尖二进制 • 1 年前 • 805 次点击 • LINUX


简介:
iostat是I/O statistics(输入/输出)统计的缩写。iostat工具对系统磁盘操作活动进行监控。

安装:

[root@localhost ~]# yum install sysstat

语法:
iostat [选项] [<时间间隔> [次数]]

参数详解:
-c:仅显示CPU使用情况
-d:仅显示设备利用率
-k:显示状态以千字节每秒为单位,而不使用块每秒
-m:显示状态以兆字节每秒为单位
-N:显示任何设备映射器设备的注册设备映射器名称。用于查看LVM2统计信息。
-n:显示网络文件系统(NFS)报告。
-p:仅显示块设备和所有被使用的其他分区的状态
-t:显示每个报告产生的时间
-V:显示版本
-x:显示扩展状态

输出详解:

[root@localhost ~]# iostat
Linux 3.10.0-957.el7.x86_64 (db-1.novalocal)    10/16/2022  _x86_64_    (16 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.67    0.00    0.85    1.11    0.01   97.37

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               2.34         2.94        18.87     286017    1836819
vdb              37.10       672.14       367.21   65435213   35749600
scd0              0.00         0.00         0.00         72          0

avg-cpu:总体cpu使用情况,对于多核,为所有cpu平均值。重点关注 "%iowait",表示CPU用于等待 IO 请求的时间。
备注:
%user: 显示在用户级(应用程序)执行时发生的CPU利用率百分比
%nice: 以良好的优先级显示在用户级别执行时发生的CPU利用率百分比
%system:显示在系统级(内核)执行时发生的CPU利用率百分比
%iowait:显示当系统有未完成的磁盘I/O请求时,CPU或CPU空闲的时间百分比
%steal: 显示在虚拟机监控程序为另一个虚拟pro提供服务时,虚拟CPU或CPU花费的非自愿等待时间的百分比实现
%idle: 显示CPU空闲和系统没有未完成磁盘I/O请求的时间百分比

Device: 磁盘设备的IO统计信息:
tps: 每秒发送到设备的传输数。传输是对设备的I/O请求。
Blk_read/s:每秒从设备读取的数据量,以块数表示。单位KB
Blk_wrtn/s:以每秒块数表示的写入设备的数据量。单位KB
Blk_read:读取的块的总数。单位KB
Blk_wrtn:写入的块的总数。单位KB

磁盘输出详解:

[root@localhost ~]# iostat -dmx 2
Linux 3.10.0-957.el7.x86_64 (db-1.novalocal)    10/16/2022  _x86_64_    (16 CPU)

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda               0.00     0.18    0.12    2.22     0.00     0.02    18.63     0.04   21.01    6.30   21.79   7.18   1.68
vdb               0.00     0.35    7.01   29.95     0.66     0.35    55.88     0.49   16.77    6.14   19.26   4.32  15.96
scd0              0.00     0.00    0.00    0.00     0.00     0.00     8.00     0.00    0.67    0.67    0.00   0.67   0.00

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda               0.00     0.00    0.00    1.00     0.00     0.01    19.50     0.01   14.00    0.00   14.00  10.00   1.00
vdb               0.00     0.00    5.00   98.00     0.04     2.94    59.27     0.87   15.92   17.90   15.82   7.46  76.85
scd0              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda               0.00     4.50    0.00   13.50     0.00     0.16    24.00     0.31   23.26    0.00   23.26   3.22   4.35
vdb               0.00     0.00    3.00   90.00     0.02     2.75    61.09     1.69   20.70   16.83   20.83   7.77  72.25
scd0              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda               0.00     0.00    0.00    1.00     0.00     0.01    17.00     0.00   10.50    0.00   10.50   1.50   0.15
vdb               0.00     0.00    3.00   74.00     0.02     2.68    71.89     1.24   39.53   15.83   40.49  10.54  81.15
scd0              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
vdb               0.00     0.00    5.50   78.00     0.04     3.10    77.01     0.82   16.57    9.27   17.08   8.37  69.85
scd0              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda               0.00     0.00    0.00    1.50     0.00     0.01    14.33     0.04   30.33    0.00   30.33  25.67   3.85
vdb               0.00     0.00    2.00  115.00     0.07     3.57    63.80     2.92   29.98   11.25   30.30   7.26  85.00
scd0              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

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队列非空的时间比率

重点关注参数:
1:iowait% 表示CPU等待IO时间占整个CPU周期的百分比,如果iowait值超过50%,或者明显大于%system、%user以及%idle,表示IO可能存在问题。
2:avgqu-sz 表示磁盘IO队列长度,即IO等待个数。
3:await 表示每次IO请求等待时间,包括等待时间和处理时间。
4:svctm 表示每次IO请求处理的时间。
5:%util 表示磁盘忙碌情况,一般该值超过80%表示该磁盘可能处于繁忙状态。

还没收到回复