iostat

Posted Silence moment

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iostat相关的知识,希望对你有一定的参考价值。

iostat可以提供丰富的IO状态数据

简述

Linux系统中通过iostat我们能查看到系统IO状态信息,从而确定IO性能是否存在瓶颈;

命令安装

yum install -y sysstat

命令使用

#iostat --help

[[email protected] ~]# iostat --help Usage: iostat [ options ] [ <interval> [ <count> ] ] Options are: [ -c ] [ -d ] [ -N ] [ -n ] [ -h ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ] [ -j { ID | LABEL | PATH | UUID | ... } [ <device> [...] | ALL ] ] [ <device> [...] | ALL ] [ -p [ <device> [,...] | ALL ] ]

iostat主要有三个操作箱,options操作项,interval指定统计时间间隔,count总共数次数;

-c  可以用看查看部分cpu状态信息;

-k  某些使用block为单位的列强制使用Kilobytes为单位;iostat -k 1 10 每秒输出一次,总共输出10次;

-d  显示设备(磁盘)使用状态,例:iostat -d 1 3 每秒输出一次,总共输出3次;

tps:该设备每秒的传输次数,一次传输是一次I/O请求。多个逻辑请求可能会被合并为一次I/O请求。一次传输请求的大小是未知的;

KB_read/s:每秒从设备读取的数据量;

kb_wrtn/s:每秒像设备写入的数据量;

kb_read:读取的总数据量;

kb_wrtn:写入的总数据量;

因为是瞬间值,总TPS并不严格等于各个分区TPS的总和;

-x  输出更多详细信息,例:iostat -x 1 2;

rrqm/s:每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的时候,VFS将请求请求合并Merge;发到各个FS,如果FS发现不同的读取请求读取的是相同的block的数据,FS会将这个);

wrqm/s:每秒这个设备相关的写入请求有多少被Merge了;

rsec/s:每秒读取的扇区数;

wse;c/s:每秒写入的扇区数;

r/s:每秒的读请求;

w/s:每秒的写请求;

await:每一个IO请求的处理的平均时间(单位是毫秒),这里可以理解为IO的响应时间,一般系统响应时间低于5ms,如果大于10ms就比较大了;

%util:在统计时间内所有处理IO的时间除以总共统计的时间。例如统计间隔1s,该设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 80%,所以该参数暗示了设备的繁忙程度。如果知道是多磁盘,即使%util是100%,因为磁盘的并发能力,所以磁盘的使用未必就到了瓶颈。

常见用法:

iostat -d -k 1 10

iostat -d -x -k 1 10

iostat -c 1 10

实例:

iostat -d -d 1 1  查看指定磁盘吞吐量和速率;

iostat -x -k 1 1   磁盘性能统计;

 

以上是关于iostat的主要内容,如果未能解决你的问题,请参考以下文章