iostat

iostat功能说明:I/O信息统计  
iostat是I/O statistics(输入/输出统计)的缩写,其主要功能是对系统的磁盘I/O操作进行监视。
它的输出主要是显示磁盘读写操作的统计信息,同时也会给出CPU的使用情况。
同vmstat命令一样,iostat命令也不能对某个进程进行深入分析,仅会对系统的整体情况进行分析。


格式参数:
iostat [option] [interval [count]]

1)interval 表示两次输出之间的间隔时间。
2)count表示按照delay指定的时间间隔统计的次数。


参数选项
-c    显示CPU的使用情况
-d    显示磁盘的使用情况
-k    每秒以kB为单位显示数据
-m    每秒以MB为单位显示数据
-n    显示NFS的使用情况
-t    显示每次统计的执行时间
-p    device指定要统计的磁盘设备名称,默认为所有的磁盘设备
-x    显示扩展统计


范例:定时显示所有信息
[root@testdb62 ~]#  iostat 2 3
Linux 3.10.0-1062.el7.x86_64 (testdb62)     12/28/2020     _x86_64_    (4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.10    0.00    0.07    0.02    0.00   99.82

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
fd0               0.00         0.00         0.00          8          0
scd0              0.00         0.00         0.00       3084          0
sda               1.27        13.37        44.87   87556291  293858831
dm-0              1.45        13.37        44.87   87539441  293855101
dm-1              0.00         0.00         0.00       5140       1152

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.50    0.00    0.38    0.13    0.00   99.00

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
fd0               0.00         0.00         0.00          0          0
scd0              0.00         0.00         0.00          0          0
sda               0.50         4.00         0.00          8          0
dm-0              0.50         4.00         0.00          8          0
dm-1              0.00         0.00         0.00          0          0

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.13    0.00    0.38    0.00    0.00   98.50

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
fd0               0.00         0.00         0.00          0          0
scd0              0.00         0.00         0.00          0          0
sda               0.50         0.00         0.75          0          1
dm-0              0.50         0.00         0.75          0          1
dm-1              0.00         0.00         0.00          0          0


范例:只显示磁盘统计信息
[root@testdb62 ~]# iostat -d
Linux 3.10.0-1062.el7.x86_64 (testdb62)     12/28/2020     _x86_64_    (4 CPU)

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
fd0               0.00         0.00         0.00          8          0
scd0              0.00         0.00         0.00       3084          0
sda               1.27        13.37        44.87   87556299  293858833
dm-0              1.45        13.37        44.87   87539449  293855103
dm-1              0.00         0.00         0.00       5140       1152




范例:查看扩展信息
[root@testdb62 ~]# iostat -d -x -k
Linux 3.10.0-1062.el7.x86_64 (testdb62)     12/28/2020     _x86_64_    (4 CPU)

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
fd0               0.00     0.00    0.00    0.00     0.00     0.00     8.00     0.00   51.50   51.50    0.00  51.50   0.00
scd0              0.00     0.00    0.00    0.00     0.00     0.00   114.22     0.00    0.67    0.67    0.00   0.54   0.00
sda               0.01     0.17    0.80    0.47    13.37    44.87    91.87     0.06   49.63   16.83  105.89   0.99   0.13
dm-0              0.00     0.00    0.81    0.64    13.37    44.87    80.05     0.08   52.93   17.08   98.57   0.87   0.13
dm-1              0.00     0.00    0.00    0.00     0.00     0.00    20.66     0.00  289.51    3.49  608.30  24.59   0.00


以下是命令结果说明。
rrqm/s:每秒进行merge的读操作数目。
wrqm/s:每秒进行merge的写操作数目。
r/s:每秒完成的读I/O设备次数。
w/s:每秒完成的写I/O设备次数。
rkB/s:每秒读入的千字节数。
wkB/s:每秒写人的千字节数。
avgrq-sz:设备平均每次进行I/O操作的数据大小(扇区)。
avgqu-sz;平均I/O队列长度。
await:设备平均每次I/O操作的等待时间(毫秒)。
svctm:设备平均每次1/0操作的服务时间(毫秒)。
%util:每秒钟用于I/O操作的百分比。




范例:只查看CPU的统计信息
[root@testdb62 ~]# iostat -c
Linux 3.10.0-1062.el7.x86_64 (testdb62)     12/28/2020     _x86_64_    (4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.10    0.00    0.07    0.02    0.00   99.82