iostat命令
iostat 命令被用于监视系统输入输出设备和 CPU 的使用情况。它的特点是汇报磁盘活动统计情况,同时也会汇报出 CPU 使用情况。同 vmstat 一样,iostat 也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。
语法
iostat(选项)(参数)
选项
- -c:仅显示CPU使用情况;
- -d:仅显示设备利用率;
- -k:显示状态以千字节每秒为单位,而不使用块每秒;
- -m:显示状态以兆字节每秒为单位;
- -p:仅显示块设备和所有被使用的其他分区的状态;
- -t:显示每个报告产生时的时间;
- -V:显示版号并退出;
- -x:显示扩展状态。
参数
- 间隔时间:每次报告的间隔时间(秒);
- 次数:显示报告的次数。
实例
用 iostat -x /dev/sda1 来观看磁盘I/O的详细情况:
iostat -x /dev/sda1
Linux 2.6.18-164.el5xen (localhost.localdomain)
2010年03月26日
avg-cpu: %user %nice %system %iowait
%steal %idle
0.11 0.02 0.18 0.35
0.03 99.31
Device: tps Blk_read/s Blk_wrtn/s
Blk_read Blk_wrtn
sda1 0.02 0.08
0.00 2014 4
详细说明:第二行是系统信息和监测时间,第三行和第四行显示CPU使用情况(具体内容和 mpstat 命令相同)。这里主要关注后面I/O输出的信息,如下所示:
| 标示 |
说明 |
| Device |
监测设备名称 |
| rrqm/s |
每秒需要读取需求的数量 |
| wrqm/s |
每秒需要写入需求的数量 |
| r/s |
每秒实际读取需求的数量 |
| w/s |
每秒实际写入需求的数量 |
| rsec/s |
每秒读取区段的数量 |
| wsec/s |
每秒写入区段的数量 |
| rkB/s |
每秒实际读取的大小,单位为KB |
| wkB/s |
每秒实际写入的大小,单位为KB |
| avgrq-sz |
需求的平均大小区段 |
| avgqu-sz |
需求的平均队列长度 |
| await |
等待I/O平均的时间(milliseconds) |
| svctm |
I/O需求完成的平均时间 |
| %util |
被I/O需求消耗的CPU百分比 |
查看磁盘读写响应时长
iostat -p -d -k -x
详细说明:
- Device:此列给出了/dev目录中列出的设备(或分区)名称。
- rrqm/s:每秒排队到设备的合并读请求的数量。
- wrqm/s:每秒排队到设备的合并写请求的数量。
- r/s:设备每秒完成的读取请求数(合并后)。
- w/s:设备每秒完成的写请求数(合并后)。
- rKB/s:每秒写 KB
- wKB/s:每秒读 KB
- avgrq-sz:向设备发出的请求的平均大小(在扇区中)。
- avgqu-sz:向设备发出的请求的平均队列长度。
- await:向设备发出I/O请求的平均时间(以毫秒为单位)。这包括队列中的请求所花费的时间以及为它们提供服务所花费的时间。
- r_await:发送到设备的读取请求的平均时间(以毫秒为单位)。这包括队列中的请求所花费的时间以及为它们提供服务所花费的时间。
- w_await:向设备发出要服务的写请求的平均时间(以毫秒为单位)。这包括队列中的请求所花费的时间以及为它们提供服务所花费的时间。
- svctm:发给设备的I/O请求的平均服务时间(以毫秒为单位)。!不再相信这个结果。该字段将在以后的 sysstat 版本中删除。
- %util:向设备发出I/O请求所占用时间的百分比(设备的带宽利用率)。当此值接近100%时,设备饱和发生。
















