iostat
查看系统IO状态
1.怎样安装
yum -y install sysstat
2.查看帮助
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 ]
options 操作项
interval 统计时间间隔
count 输出次数
3.常用参数
-c 查看部分cpu状态
-k 某些使用block为单位的列强制使用kb单位
-d 显示设备状态
[root@izbp1clhko7m5voang6aanz slave]# iostat -d
Linux 3.10.0-693.2.2.el7.x86_64 (a87) 04/11/2018 _x86_64_ (8 CPU)
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 5.02 34.92 78.77 142924497 322392120
tps | 该设备每秒的传输次数 indicate the number of transfers per second that were issued to device. 一次传输就是一次I/O请求,多个逻辑请求可能被合并为一次I/O请求。 |
kB_read/s | 每秒从设备读取的数据量 |
kB_wrtn/s | 每秒向设备写入的数据量 |
kB_read | 读取的总数据量 |
kB_wrtn | 写入的总数据量 |
[root@izbp1clhko7m5voang6aanz slave]# iostat -x
Linux 3.10.0-693.2.2.el7.x86_64 (a87) 04/11/2018 _x86_64_ (8 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1.55 0.00 0.09 0.03 0.00 98.32
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 0.00 2.05 0.83 4.18 34.91 78.75 45.33 0.41 81.21 25.91 92.23 0.96 0.48
rrqm/s | 每秒这个设备相关的读取请求有多少被Merge了 当系统调用需要读取数据的时候,VFS将请求发到各个FS, 如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge |
wrqm/s | 每秒这个设备相关的写入请求有多少被Merge了 |
rsec/s | 每秒读取的扇区数 |
wsec/s | 每秒写入的扇区数 |
r/s | The number of read requests that were issued to the device per second |
w/s | The number of write requests that were issued to the device per second |
await | 每一个IO请求的处理的平均时间(单位是毫秒)。 这里可以理解为IO的响应时间,一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了。 |
%util | 设备使用率,在统计时间内所有处理IO时间,除以总共统计时间。 例如,如果统计间隔1秒,该设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%, 所以该参数暗示了设备的繁忙程度。 一般地,如果该参数是100%表示设备已经接近满负荷运行了 (当然如果是多磁盘,即使%util是100%,因为磁盘的并发能力,所以磁盘使用未必就到了瓶颈)。 |
avgrq-sz 平均请求扇区大小
这个值反应了用户的IO-Pattern。我们经常关心,用户过来的IO是大IO还是小IO,那么avgrq-sz反应了这个要素。它的含义是说,平均下来,这这段时间内,所有请求的平均大小,单位是扇区,即(512字节)。
avgqu-sz 平均请求队列长度
该值越大,表示排队等待处理的io越多。
1扇区 = 512Byte
4.常见用法
iostat -d -k 1 10 #查看TPS和吞吐量信息
iostat -d -x -k 1 10 #查看设备使用率(%util)、响应时间(await)
iostat -c 1 10 #查看cpu状态
5.数据来源
/proc/diskstats