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

相关推荐
甲鱼9294 小时前
MySQL 实战手记:日志管理与主从复制搭建全指南
运维
Johny_Zhao18 小时前
OpenClaw安装部署教程
linux·人工智能·ai·云计算·系统运维·openclaw
chlk1232 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑2 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件2 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒2 天前
OpenClaw 多 Agent 配置实战指南
运维
深紫色的三北六号3 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash3 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI3 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行4 天前
Linux和window共享文件夹
linux