Linux iostat命令
Linux iostat
命令详解
Linux系统中的iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,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空闲时间百分比
iostat命令的重点不是用来看CPU的,重点是用来监测磁盘性能的。
Device:设备名称rrqm/s:每秒合并到设备的读取请求数wrqm/s:每秒合并到设备的写请求数r/s:每秒向磁盘发起的读操作数w/s:每秒向磁盘发起的写操作数rkB/s:每秒读K字节数wkB/s:每秒写K字节数avgrq-sz:平均每次设备I/O操作的数据大小avgqu-sz:平均I/O队列长度await:平均每次设备I/O操作的等待时间 (毫秒),一般地,系统I/O响应时间应该低于5ms,如果大于 10ms就比较大了r_await:每个读操作平均所需的时间;不仅包括硬盘设备读操作的时间,还包括了在kernel队列中等待的时间w_await:每个写操作平均所需的时间;不仅包括硬盘设备写操作的时间,还包括了在kernel队列中等待的时间svctm:平均每次设备I/O操作的服务时间 (毫秒)(这个数据不可信!)%util:一秒中有百分之多少的时间用于I/O操作,即被IO消耗的CPU百分比,一般地,如果该参数是100%表示设备已经接近满负荷运行了
如果%iowait的值过高,表示硬盘存在I/O瓶颈,%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU
disk属性值说明:
磁盘名称
|
device |
磁盘名称 |
|
tps |
每秒钟发送到的I/O请求数 |
|
Blk_read/s |
每秒读取的block数 |
|
Blk_wrtn/s |
每秒写入的block数 |
|
Blk_read |
读入的block总数 |
|
Blk_wrtn |
写入的block总数 |
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百分比

浙公网安备 33010602011771号