Linux 磁盘 I/O 工具

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 队列较大。

相关推荐
九皇叔叔2 小时前
Ubuntu 22.04 版本常用设置
linux·运维·ubuntu
南境十里·墨染春水2 小时前
linux学习进展 线程同步——互斥锁
java·linux·学习
杨云龙UP3 小时前
ODA登录ODA Web管理界面时提示Password Expired的处理方法_20260423
linux·运维·服务器·数据库·oracle
songx_994 小时前
Linux基础2
linux·运维·服务器
我想要SSR4 小时前
搭建小龙虾过程和坑点
linux·服务器·ai
陈皮糖..5 小时前
27 届运维实习笔记|第三、四周:从流程熟练到故障排查,企业运维实战深化
运维·笔记·sql·nginx·ci/cd·云计算·jenkins
莫白媛5 小时前
Linux在限制敏感命令下的修改用户密码小白版
linux·运维·服务器
hhb_6186 小时前
C Shell 基础语法与高阶运维实战指南
运维·c语言·chrome
Rcnhtin6 小时前
RocketMQ
java·linux·rocketmq
AC赳赳老秦7 小时前
OpenClaw多平台部署:Windows+Linux跨系统协同,实现全场景覆盖
linux·服务器·前端·网络·windows·deepseek·openclaw