linuxiostat命令详解的简单介绍

深入浅出 iostat 命令

iostat命令 :报告系统CPU和IO相关统计信息。

成都创新互联成立于2013年,先为乐业等服务建站,乐业等地企业,进行企业商务咨询服务。为乐业企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

iostat 第一行会输出 - 系统版本内信息 - 统计开始时间 - cpu数量

下面想讲讲iostat几个重要参数。

输出分为 CPU 和 IO 统计信息

CPU统计数据

IO统计数据

常用方法

# iostat -x 2 //每2秒输出一次数据

# iostat -x 2 2 #2秒中输出一个 总计数据2个

写到这里对iostat 介绍的就差不多了,iostat命令数据的结果受很多因素的影响,我们不能武断的使用统计结果,要多多思考才能有更大的帮助。

本文参考了 Bean Li 深入理解iostat 感谢前辈大神的分享,文章内容有很多干货,建议大家看看。

iostat 命令详解

iostat 主要用于输出磁盘IO 和 CPU的统计信息。

iostat属于sysstat软件包。可以用yum install sysstat 直接安装。

用法: iostat [选项] [时间间隔] [次数]

如下图:

-c: 显示CPU使用情况

-d: 显示磁盘使用情况

-N: 显示磁盘阵列(LVM) 信息

-n: 显示NFS 使用情况

-k: 以 KB 为单位显示

-m: 以 M 为单位显示

-t: 报告每秒向终端读取和写入的字符数和CPU的信息

-V: 显示版本信息

-x: 显示详细信息

-p: [磁盘] 显示磁盘和分区的情况

%user: CPU处在用户模式下的时间百分比。

%nice: CPU处在带NICE值的用户模式下的时间百分比。

%system: CPU处在系统模式下的时间百分比。

%iowait: CPU等待输入输出完成时间的百分比。

%steal: 管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。

%idle: CPU空闲时间百分比。

磁盘名称

device: 磁盘名称

tps: 每秒钟发送到的I/O请求数.

Blk_read/s: 每秒读取的block数.

Blk_wrtn/s: 每秒写入的block数.

Blk_read: 读入的block总数.

Blk_wrtn: 写入的block总数.

rrqm/s: 每秒进行 merge 的读操作数目。即 rmerge/s

wrqm/s: 每秒进行 merge 的写操作数目。即 wmerge/s

r/s: 每秒完成的读 I/O 设备次数。即 rio/s

w/s: 每秒完成的写 I/O 设备次数。即 wio/s

rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。

wkB/s: 每秒写K字节数。是 wsect/s 的一半。

avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。

avgqu-sz: 平均I/O队列长度。

rsec/s: 每秒读扇区数。即 rsect/s

wsec/s: 每秒写扇区数。即 wsect/s

r_await: 每个读操作平均所需的时间

不仅包括硬盘设备读操作的时间,还包括了在kernel队列中等待的时间。

w_await: 每个写操作平均所需的时间

不仅包括硬盘设备写操作的时间,还包括了在kernel队列中等待的时间。

await: 平均每次设备I/O操作的等待时间 (毫秒)。

svctm: 平均每次设备I/O操作的服务时间 (毫秒)。

%util: 一秒中有百分之多少的时间用于 I/O 操作,即被io消耗的cpu百分比

Linux 里面iostat命令作用是什么?

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

iostat提供几个用于定制输出的开关。最有用的有:

-c 只显示CPU行

-d 显示设备(磁盘)使用状态

-k 以千字节为单位显示磁盘输出

-t 在输出中包括时间戳

-x 在输出中包括扩展的磁盘指标

rrqm/s: 每秒进行 merge 的读操作数目。

wrqm/s: 每秒进行 merge 的写操作数目。

r/s: 每秒完成的读 I/O 设备次数。

w/s: 每秒完成的写 I/O 设备次数。

rsec/s: 每秒读扇区数。

wsec/s: 每秒写扇区数。

rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。(需要计算)

wkB/s: 每秒写K字节数。是 wsect/s 的一半。(需要计算)

avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。

avgqu-sz: 平均I/O队列长度。

await: 平均每次设备I/O操作的等待时间 (毫秒)。

svctm: 平均每次设备I/O操作的服务时间 (毫秒)。

%util: 一秒中有百分之多少的时间用于 I/O 操作。

关于Merge的解释:当系统调用需要读取数据的时 候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge

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

%util:在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计间隔1秒,该 设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是100%表示设备已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因 为磁盘的并发能力,所以磁盘使用未必就到了瓶颈)。


文章名称:linuxiostat命令详解的简单介绍
本文来源:http://pwwzsj.com/article/dddddje.html