iostat命令详解

iostat命令详解

iostat用于输出CPU和磁盘io的相关的统计信息

iostat

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表示的是循环输出

iostat命令详解各个字段选项的含义:

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%就是磁盘可能处于忙碌的状态