iostat命令学习

时间:2021-06-10 05:33:09

iostat命令主要用于监控linux系统下cup和磁盘IO的统计信息

可以通过iostat --help获得该命令的帮助信息

[oracle@std ~]$ iostat --help
Usage: iostat [ options... ] [ <interval> [ <count> ] ]
Options are:
[ -c | -d ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -n ] [ -h ] [ -N ]
[ <device> [ ... ] | ALL ] [ -p [ <device> | ALL ] ]

从上面的帮助信息可以看到iostat命令后可以跟很多参数,主要参数有:

-c 仅显示cpu的统计信息,不能和-d参数同时使用

-d 仅显示磁盘的统计信息,不能和-c参数同时使用

-k 以K为单位显示每秒磁盘的请求量,默认单位为块

-t 显示统计信息的时间

-V 打印出版本号及帮助信息

-x 打印出扩展信息

-p device 设备名   显示指定设备的统计信息

-p device ALL     显示所有设备的统计信息

iostat -x 5 2  每隔5秒显示统计信息,显示2次

示例:

[oracle@std ~]$ iostat -x
Linux 2.6.-.el5 (std) // avg-cpu: %user %nice %system %iowait %steal %idle
0.09 0.01 0.19 0.88 0.00 98.84 Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.05 4.05 0.18 1.57 6.74 45.00 29.60 0.04 25.09 11.38 1.99
sda1 0.04 4.05 0.17 1.57 6.73 45.00 29.60 0.04 25.09 11.38 1.99
sda2 0.00 0.00 0.00 0.00 0.01 0.00 43.22 0.00 3.97 3.27 0.00
sdb 0.01 0.00 0.00 0.00 0.01 0.00 21.24 0.00 0.32 0.31 0.00
sdb1 0.00 0.00 0.00 0.00 0.00 0.00 17.17 0.00 0.17 0.17 0.00
sdc 0.01 0.00 0.00 0.00 0.01 0.00 21.24 0.00 0.30 0.28 0.00
sdc1 0.00 0.00 0.00 0.00 0.00 0.00 17.17 0.00 0.04 0.04 0.00 avg-cpu: %user %nice %system %iowait %steal %idle
0.10 0.00 0.51 0.61 0.00 98.78 Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 3.00 0.00 0.80 0.00 30.40 38.00 0.01 14.25 14.25 1.14
sda1 0.00 3.00 0.00 0.80 0.00 30.40 38.00 0.01 14.25 14.25 1.14
sda2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdc1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

对以上参数进行解释:

-----avg-cpu------

%user  用户进程运行所占cpu的百分比

%nice  nice操作所占cpu的百分比

%system  系统进程运行所占cpu的百分比

%iowait  cup等待硬件IO时所占cup的百分比

%idle   空闲cup百分比

----device---------

rrqm/s  将读入请求合并后每秒发送到设备上的读入请求数

wrqm/s  将写入请求合并后每秒发送到设备上的写入请求数

r/s     每秒发送到设备上的读入请求数

w/s     每秒发送到设备上的写入请求数

rsec/s  每秒从设备读入的扇区数

wsec/s  每秒从设备写入的扇区数

avgrq-sz 发送到设备上的请求平均大小,单位为扇区

avgqu-sz 发送到设备上的平均队列长度

await    IO请求平均执行时间,包括了发送请求和执行的时间,单位是毫秒

svctm    发送到设备上的IO请求平均执行时间,单位是毫秒

%util    在IO请求发送到设备期间,占用cpu时间的百分比(处理IO时间占总时间的百分比)

备注:await可以理解为IO的响应时间

%util可以理解为设备的繁忙程度