iostat命令详解
iostat用于输出CPU和磁盘io的相关的统计信息
iostat
其中
avg-cpu:主要的是CPU的信息,如果是多个cpu的话是cpu的平均值,其中重点关注的是iowait,表示的是用于等待io完成请求的时间
Device:表示的是各个磁盘io的统计
Device:以sdX的形式显示磁盘的名称
tps:每秒进程下发的进程的读写请求数量
kb_read/s: 每秒从驱动器读入的数据流量以KB为单位
kb_wrtn/s: 每秒从驱动器写入的数据量,单位是K
kb_read: 读入的数据总量,单位是k
kb_wrtn: 写入的数据总量,单位是K
iostat的语法
用法
iostat[选项][<时间间隔>[<次数>]]
-c: 只是单独的输出cpu的信息不包括Device的信息
-d: 单独输出Device的信息不包括CPU的信息
-k/-m: 输出的结果是以kb或者是mb为单位,而不是以扇区数为单位
-x:输出更详细的磁盘io的信息
interval/count: 每次输出的间隔时间。count表示的是输出次数,没有count表示的是循环输出
各个字段选项的含义:
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:表示的是每次请求的处理的时间
5、%util表示的是磁盘的忙碌情况,如果在80%就是磁盘可能处于忙碌的状态