iostat命令

  sre
[root@node01 ~]# iostat  --help
Usage: iostat [ options ] [ <interval> [ <count> ] ]
Options are:
[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]
[ -j { ID | LABEL | PATH | UUID | ... } ]
[ [ -T ] -g <group_name> ] [ -p [ <device> [,...] | ALL ] ]
[ <device> [...] | ALL ]

语法:

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

常用选项说明:

-c:只显示系统CPU统计信息,即单独输出avg-cpu结果,不包括device结果
-d:单独输出Device结果,不包括cpu结果
-k/-m:输出结果以kB/mB为单位,而不是以扇区数为单位
-x:输出更详细的io设备统计信息
interval/count:每次输出间隔时间,count表示输出次数,不带count表示循环输出

[root@node01 ~]# iostat
Linux 5.0.5-1.el7.elrepo.x86_64 (node01)    05/13/2019  _x86_64_    (16 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           2.89    0.00    1.95    0.01    0.00   95.16

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              39.49         4.30       212.99    5232615  259445337
scd0              0.00         0.00         0.00       1028          0
dm-0             39.65         4.04       212.82    4921436  259247109
dm-1              0.00         0.00         0.00       3364          0
dm-2              0.03         0.24         0.16     297433     196180

输出说明:
avg-cpu:所有cpu的平均值,重点关注iowait

Device: 以sdX形式显示的设备名称
tps: 每秒进程下发的IO读、写请求数量
KB_read/s: 每秒从驱动器读入的数据量,单位为K。
KB_wrtn/s: 每秒从驱动器写入的数据量,单位为K。
KB_read: 读入数据总量,单位为K。
KB_wrtn: 写入数据总量,单位为K。

[root@node01 ~]# iostat -x -k -d 1 2
Linux 5.0.5-1.el7.elrepo.x86_64 (node01)    05/13/2019  _x86_64_    (16 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
sda               0.00     0.19    0.05   39.44     4.30   212.98    11.00     0.01    0.40   14.39    0.38   0.47   1.86
scd0              0.00     0.00    0.00    0.00     0.00     0.00   114.22     0.00    1.61    1.61    0.00   0.89   0.00
dm-0              0.00     0.00    0.05   39.60     4.04   212.82    10.94     0.02    0.40   15.02    0.38   0.47   1.87
dm-1              0.00     0.00    0.00    0.00     0.00     0.00    55.15     0.00    0.24    0.24    0.00   0.25   0.00
dm-2              0.00     0.00    0.00    0.03     0.24     0.16    28.85     0.00    0.47    7.00    0.23   0.51   0.00

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00     0.00    0.00   14.00     0.00    64.00     9.14     0.00    0.21    0.00    0.21   0.64   0.90
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
dm-0              0.00     0.00    0.00   14.00     0.00    64.00     9.14     0.00    0.29    0.00    0.29   0.64   0.90
dm-1              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
dm-2              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

每隔1S输出磁盘IO的详细详细,总共采样2次:

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%表示该磁盘可能处于繁忙状态。

查看dm信息:

[root@node01 ~]# cd /dev/mapper/
[root@node01 mapper]# ll
total 0
lrwxrwxrwx 1 root root       7 Apr 29 01:19 centos-home -> ../dm-2
lrwxrwxrwx 1 root root       7 Apr 29 01:19 centos-root -> ../dm-0
lrwxrwxrwx 1 root root       7 Apr 29 01:19 centos-swap -> ../dm-1
crw------- 1 root root 10, 236 Apr 29 01:19 control

LEAVE A COMMENT

Captcha Code