iostat
iostat 为用于查看磁盘输入输出的性能监控工具
iostat [ options ] [ <interval> [ <count> ] ]
参数说明:
options 取值如下:
-C:显示 CPU 使用情况。
-d:显示磁盘使用情况。
-k:以 KB 为单位显示。
-m:以 M 为单位显示。
-N:显示磁盘阵列(LVM) 信息。
-n:显示 NFS 使用情况。
-p[磁盘名称]:显示磁盘和分区的情况。
-t:显示终端和 CPU 的信息。
-x:显示详细信息。
interval:输出刷新的间隔时间。
count:输出的次数。
通过 iostat -x 1 3命令查看磁盘输入输出的详细信息。示例如下:
输出3次,间隔1秒
avg-cpu: %user %nice %system %iowait %steal %idle
1.22 0.00 1.30 0.02 0.00 97.46
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 0.00 0.81 0.06 0.97 2.59 8.43 21.34 0.00 0.82 3.81 0.64 0.09 0.01
avg-cpu: %user %nice %system %iowait %steal %idle
2.00 0.00 2.00 0.00 0.00 96.00
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 0.00 6.00 1.00 2.00 8.00 32.00 26.67 0.00 0.33 0.00 0.50 0.33 0.10
avg-cpu: %user %nice %system %iowait %steal %idle
1.02 0.00 1.02 0.00 0.00 97.96
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
字段说明:
-
avg-cpu:
- %user:CPU 在用户态下的时间百分比。
- %nice:CPU 在带 Nice 值的用户态下的时间百分比。
- %system:CPU 在内核态下的时间百分比。
- %iowait:CPU 等待 I/O 时间的百分比。
- %steal:管理程序维护另一个虚拟处理器时,虚拟 CPU 的无意识等待时间百分比。
- %idle:CPU 空闲时间百分比。
-
Device:磁盘名字。
-
rrqm/s: 每秒合并的读操作数量。
-
wrqm/s: 每秒合并的写操作数量。
-
r/s: 每秒读 I/O 次数。
-
w/s: 每秒写 I/O 次数。
-
rsec/s: 每秒读扇区数。
-
wsec/s: 每秒写扇区数。
-
rkB/s: 每秒读 K 字节数。
-
wkB/s: 每秒写 K 字节数。
-
avgrq-sz: 平均每次 I/O 的数据大小。
-
avgqu-sz: 平均 I/O 队列长度。
-
await: 平均 I/O 操作的等待时间 (毫秒)。
-
svctm: 平均 I/O 操作的服务时间 (毫秒)。
-
%util: I/O 占用的 CPU 利用率。
说明:
%util 表示磁盘的 I/O 使用情况,如果很高,则通常表明 I/O 有可能成为瓶颈。
await = 平均 I/O 操作的服务时间 + I/O 等待时间,所以如果 await 远大于 svctm,则说明 I/O 等待时间较长,I/O 队列较大。