iostat命令
[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