iostat是Linux中监控I/O设备负载的工具,属于sysstat包,需通过apt或yum安装,常用命令如iostat -x -k 2可每2秒输出一次磁盘扩展统计,重点关注%util和await字段判断I/O瓶颈。

iostat 是 Linux 系统中用于监控系统输入/输出设备负载的命令,属于 sysstat 工具包的一部分。它能显示 CPU 使用情况以及块设备(如硬盘、SSD)的读写速率、I/O 操作次数等信息,对性能调优和排查 I/O 瓶颈非常有用。
安装 iostat
大多数 Linux 发行版默认不安装 iostat,需手动安装 sysstat 包:
- Ubuntu/Debian: sudo apt install sysstat
- CentOS/RHEL: sudo yum install sysstat 或 sudo dnf install sysstat
基本语法与常用参数
命令格式:
iostat [选项] [时间间隔] [次数]
常见参数说明:
- -x:显示扩展统计信息(推荐使用)
- -k:以 KB/s 为单位显示数据
- -m:以 MB/s 为单位显示数据
- -c:仅显示 CPU 统计信息
- -d:仅显示设备(磁盘)统计信息
- -t:显示时间戳
常用使用示例
1. 查看整体 I/O 和 CPU 使用情况:
iostat
2. 每 2 秒刷新一次,共显示 5 次:
iostat 2 5
3. 显示详细磁盘统计(推荐日常监控):
iostat -x -k 2
这会每 2 秒输出一次扩展信息,单位为 KB/s。
4. 只查看磁盘 I/O 扩展信息:
iostat -dx /dev/sda 1
监控指定设备(如 sda)每秒的变化。
关键输出字段解释
使用 iostat -x 后常见字段含义:
- %util:设备利用率百分比,接近 100% 表示 I/O 瓶颈
- await:平均每次 I/O 操作的等待时间(毫秒)
- svctm:平均服务时间(已弃用,参考意义有限)
- r/s, w/s:每秒读、写操作次数
- rkB/s, wkB/s:每秒读、写的数据量(KB)
- avgqu-sz:平均请求队列长度,过高表示 I/O 压力大
重点关注 %util 和 await,若 %util 长时间高于 70%-80%,说明磁盘可能成为性能瓶颈。
基本上就这些。掌握 iostat 能帮你快速判断系统是否存在磁盘 I/O 问题,结合 top、vmstat 等命令可更全面分析系统性能。
linux centos 硬盘 ubuntu 工具 ai ios dnf 性能瓶颈 linux命令 linux ubuntu centos debian


