iostat
用于监控统计系统输入输出设备和 CPU 的使用情况,英文 I/O statistics 的缩写。它的特点是汇报磁盘活动统计情况,同时也会汇报出 CPU 使用情况。同
vmstat
一样,iostat
也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。iostat
属于sysstat
软件包,所以使用前需先安装sysstat
。
命令格式
iostat [参数] [间隔时间] [报告次数]
- 间隔时间:每次报告的间隔时间(秒)
- 报告次数:显示报告的次数
常用参数
-
-C
显示 CPU 使用情况 -
-d
显示磁盘使用情况 -
-k
以 KB 为单位显示 -
-m
以 M 为单位显示 -
-N
显示磁盘阵列(LVM) 信息 -
-n
显示 NFS 使用情况 -
-p[磁盘]
显示磁盘和分区的情况 -
-t
显示终端和 CPU 的信息 -
-x
显示详细信息 -
-V
显示版本信息
更多参数和说明,可用 man iostat
查看。
属性说明
CPU 属性值
标示 | 说明 |
---|---|
%user | CPU 处在用户模式下的时间百分比 |
%nice | CPU 处在带 NICE 值的用户模式下的时间百分比 |
%system | CPU 处在系统模式下的时间百分比 |
%iowait | CPU 等待输入输出完成时间的百分比 |
%steal | 管理程序维护另一个虚拟处理器时,虚拟 CPU 的无意识等待时间百分比 |
%idle | CPU 空闲时间百分比 |
DISK 属性值
标示 | 说明 |
---|---|
Device | 监测设备名称 |
rrqm/s | 每秒需要读取需求的数量 |
wrqm/s | 每秒需要写入需求的数量 |
r/s | 每秒实际读取需求的数量 |
w/s | 每秒实际写入需求的数量 |
rsec/s | 每秒读取区段的数量 |
wsec/s | 每秒写入区段的数量 |
rkB/s | 每秒实际读取的大小,单位为 KB |
wkB/s | 每秒实际写入的大小,单位为 KB |
rMB/s | 每秒实际读取的大小,单位为 MB |
wMB/s | 每秒实际写入的大小,单位为 MB |
avgrq-sz | 需求的平均大小区段 |
avgqu-sz | 需求的平均队列长度 |
await | 等待 I/O 平均的时间(milliseconds) |
svctm | I/O 需求完成的平均时间 |
%util | 被 I/O 需求消耗的 CPU 百分比 |
TPS 属性值
标识 | 说明 |
---|---|
tps | 该设备每秒的传输次数 |
kB_read/s | 每秒从设备读取的数据量 |
kB_wrtn/s | 每秒向设备写入的数据量 |
kB_read | 读取的总数据量 |
kB_wrtn | 写入的总数据量 |
应用实例
iostat -k
Linux 2.6.32-642.13.1.el6.x86_64 (upfor106) 2016年04月21日 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.49 0.00 0.17 0.03 0.00 99.31
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 0.88 1.41 8.30 47983021 281958128