简介:
iostat是I/O statistics(输入/输出)统计的缩写。iostat工具对系统磁盘操作活动进行监控。
安装:
[root@hankyoon ~]# yum install sysstat
语法:
iostat [选项] [<时间间隔> [次数]]
参数详解:
-c:仅显示CPU使用情况 -d:仅显示设备利用率 -k:显示状态以千字节每秒为单位,而不使用块每秒 -m:显示状态以兆字节每秒为单位 -N:显示任何设备映射器设备的注册设备映射器名称。用于查看LVM2统计信息。 -n:显示网络文件系统(NFS)报告。 -p:仅显示块设备和所有被使用的其他分区的状态 -t:显示每个报告产生的时间 -V:显示版本 -x:显示扩展状态
输出详解:
[root@hankyoon ~]# iostat Linux 2.6.32-754.22.1.el6.x86_64 (10-130-10-74) 09/09/2020 _x86_64_ (40 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.17 0.01 0.41 0.00 0.00 99.40 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 1.25 0.23 21.48 6919686 649466207 sdb 4.55 66.16 374.91 1999989896 11333551479 avg-cpu:总体cpu使用情况,对于多核,为所有cpu平均值。重点关注 "%iowait",表示CPU用于等待 IO 请求的时间。 备注: %user: 显示在用户级(应用程序)执行时发生的CPU利用率百分比 %nice: 以良好的优先级显示在用户级别执行时发生的CPU利用率百分比 %system:显示在系统级(内核)执行时发生的CPU利用率百分比 %iowait:显示当系统有未完成的磁盘I/O请求时,CPU或CPU空闲的时间百分比 %steal: 显示在虚拟机监控程序为另一个虚拟pro提供服务时,虚拟CPU或CPU花费的非自愿等待时间的百分比实现 %idle: 显示CPU空闲和系统没有未完成磁盘I/O请求的时间百分比 Device: 磁盘设备的IO统计信息: tps: 每秒发送到设备的传输数。传输是对设备的I/O请求。 Blk_read/s:每秒从设备读取的数据量,以块数表示。单位KB Blk_wrtn/s:以每秒块数表示的写入设备的数据量。单位KB Blk_read:读取的块的总数。单位KB Blk_wrtn:写入的块的总数。单位KB
磁盘输出详解:
[root@hankyoon ~]# iostat -dx -k 1 Linux 2.6.32-754.22.1.el6.x86_64 (10-130-10-74) 09/09/2020 _x86_64_ (40 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 1.17 0.00 1.24 0.11 10.74 17.39 0.00 0.73 2.55 0.72 0.44 0.06 sdb 0.00 0.03 0.28 4.26 33.08 187.45 97.04 0.02 3.58 1.39 3.73 0.54 0.25 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%表示该磁盘可能处于繁忙状态。