iostat
Report Central Processing Unit (CPU) statistics and input/output statistics for devices and partitions.
Help
# 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 ]
参数
- -c 显示CPU使用情况
- -d 显示磁盘使用情况
- -k 以 KB 为单位显示
- -m 以 M 为单位显示
- -N 显示磁盘阵列(LVM) 信息
- -n 显示NFS 使用情况
- -p [磁盘] 显示磁盘和分区的情况
- -t 显示终端和CPU的信息
- -x 显示详细信息
- -V 显示版本信息
属性说明
- %user:CPU处在用户模式下的时间百分比
- %nice:CPU处在带NICE值的用户模式下的时间百分比
- %system:CPU处在系统模式下的时间百分比
- %iowait:CPU等待输入输出完成时间的百分比
- %steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比
- %idle:CPU空闲时间百分比
经验说明:
%iowait
值过高,表示硬盘存在I/O瓶颈
%idle
值过高,表示CPU较空闲,如果%idle
值高但系统响应慢时,有可能是CPU
等待分配内存,此时应加大内存容量
- rrqm/s: 每秒进行 merge 的读操作数目。即 rmerge/s
- wrqm/s: 每秒进行 merge 的写操作数目。即 wmerge/s
- r/s: 每秒完成的读 I/O 设备次数。即 rio/s
- w/s: 每秒完成的写 I/O 设备次数。即 wio/s
- rsec/s: 每秒读扇区数。即 rsect/s
- wsec/s: 每秒写扇区数。即 wsect/s
- rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节
- wkB/s: 每秒写K字节数。是 wsect/s 的一半
- avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)
- avgqu-sz: 平均I/O队列长度
- await: 平均每次设备I/O操作的等待时间 (毫秒)
- svctm: 平均每次设备I/O操作的服务时间 (毫秒)
- %util: 向设备发出I/O请求所占用时间的百分比(设备的带宽利用率)
经验说明:
%util
接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈
svctm
比较接近 await
,说明 I/O 几乎没有等待时间
await
远大于 svctm
,说明I/O 队列太长,io响应太慢,则需要进行必要优化
avgqu-sz
比较大,也表示有当量io在等待
使用
# iostat -c
Linux 3.10.0-693.el7.x86_64 (node1) 08/19/2020 _x86_64_ (8 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
5.44 0.00 1.74 0.12 0.02 92.68
# iostat -d
Linux 3.10.0-693.el7.x86_64 (node1) 08/19/2020 _x86_64_ (8 CPU)
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sdc 0.00 0.00 0.00 5888 0
sdb 0.00 0.00 0.00 5888 0
scd0 0.00 0.00 0.00 144 0
sda 9.16 13.63 353.34 310574466 8050084426
dm-0 0.00 0.00 0.00 5364 4
# iostat -k
Linux 3.10.0-693.el7.x86_64 (node1) 08/19/2020 _x86_64_ (8 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
5.44 0.00 1.74 0.12 0.02 92.68
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sdc 0.00 0.00 0.00 5888 0
sdb 0.00 0.00 0.00 5888 0
scd0 0.00 0.00 0.00 144 0
sda 9.16 13.63 353.34 310580506 8050100296
dm-0 0.00 0.00 0.00 5364 4
# iostat -m
Linux 3.10.0-693.el7.x86_64 (node1) 08/19/2020 _x86_64_ (8 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
5.44 0.00 1.74 0.12 0.02 92.68
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sdc 0.00 0.00 0.00 5 0
sdb 0.00 0.00 0.00 5 0
scd0 0.00 0.00 0.00 0 0
sda 9.16 0.01 0.35 303301 7861442
dm-0 0.00 0.00 0.00 5 0
# iostat -t
Linux 3.10.0-693.el7.x86_64 (node1) 08/19/2020 _x86_64_ (8 CPU)
08/19/2020 11:08:00 AM
avg-cpu: %user %nice %system %iowait %steal %idle
5.44 0.00 1.74 0.12 0.02 92.68
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sdc 0.00 0.00 0.00 5888 0
sdb 0.00 0.00 0.00 5888 0
scd0 0.00 0.00 0.00 144 0
sda 9.16 13.63 353.34 310580506 8050140517
dm-0 0.00 0.00 0.00 5364 4
# iostat -p sdb -x 1
Linux 3.10.0-693.el7.x86_64 (node1) 10/23/2020 _x86_64_ (8 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
5.83 0.00 1.80 0.12 0.02 92.23
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sdb 0.00 0.00 0.00 0.00 0.00 0.00 51.42 0.00 1.76 1.77 0.00 1.42 0.00
iostat -x 3
iostat -xm 1