概述
iostat 提供 CPU、磁盘和网络文件系统 (NFS) 的统计信息,帮助了解系统的整体性能状态并诊断 I/O 相关问题。它是识别高磁盘 I/O 负载系统瓶颈的关键工具。
主要功能
- CPU 使用率统计 (user, nice, system, idle, iowait 等)
- 设备 (磁盘、分区) 的每秒读/写请求数和数据传输量
- 设备平均服务时间、队列长度、I/O 等待时间
- 按指定间隔重复输出统计信息
- 支持多种输出格式和单位
主要选项
iostat 命令通过各种选项可以精细控制输出统计信息的种类、格式和重复周期。
选择统计信息类型
输出格式和单位
生成的命令:
请尝试组合命令。
描述:
`iostat` 执行命令。
通过组合这些选项,您可以与 AI 一起虚拟地执行命令。
使用示例
使用 iostat 命令查看系统 CPU 和磁盘 I/O 统计信息的各种示例。
基本 CPU 和磁盘 I/O 统计
iostat
一次性输出 CPU 使用率和所有设备的 기본 I/O 统计信息。
每 5 秒重复 3 次
iostat 5 3
每 5 秒输出一次 CPU 和磁盘 I/O 统计信息,共输出 3 次。
仅查看 CPU 统计
iostat -c
仅输出 CPU 使用率统计信息。
查看扩展磁盘 I/O 统计
iostat -x
以扩展格式输出磁盘 I/O 统计信息,提供更多详细信息。
查看特定磁盘的扩展 I/O 统计
iostat -x sda
输出特定磁盘 (例如: sda) 的扩展 I/O 统计信息。
以人类可读单位查看磁盘 I/O 统计
iostat -h
以 K, M, G 等人类易读的单位输出磁盘 I/O 统计信息的数据传输量。
带时间戳,每 2 秒重复输出磁盘统计
iostat -d -t 2
在每个报告前添加时间戳,每 2 秒间隔持续输出磁盘 I/O 统计信息。
安装
iostat 是 `sysstat` 包的一部分。大多数 Linux 发行版可能默认未安装,如果需要,可以使用以下命令进行安装。
Debian/Ubuntu
sudo apt update
sudo apt install sysstat
使用 APT 包管理器进行安装。
CentOS/RHEL/Fedora
sudo yum install sysstat
# 或
sudo dnf install sysstat
使用 YUM 或 DNF 包管理器进行安装。
Arch Linux
sudo pacman -S sysstat
使用 Pacman 包管理器进行安装。
提示与注意事项
使用 iostat 分析系统性能时,以下是一些有用的提示和需要注意的事项。
输出解读指南
主要指标的简要说明。
- **%user, %system, %iowait, %idle (CPU)**: 表示 CPU 使用率。如果 %iowait 较高,可能需要怀疑是否存在磁盘 I/O 瓶颈。
- **r/s, w/s (Device)**: 每秒读/写请求数。值越高表示磁盘活动越频繁。
- **rkB/s, wkB/s (Device)**: 每秒读/写数据量 (KB)。表示实际数据传输量。
- **await (Device)**: I/O 请求在队列中等待并由磁盘处理的平均时间 (毫秒)。此值较高表示磁盘响应时间较慢。
- **%util (Device)**: 设备使用率。接近 100% 表示该设备正在以最大容量运行,可能是瓶颈的原因。
持续监控
iostat 提供的是特定时间点的快照,但使用 `iostat interval count` 等重复选项进行长时间监控,可以更有效地掌握性能趋势并诊断间歇性问题。
与其他工具结合使用
iostat 专注于磁盘 I/O,因此建议将其与 `top`、`vmstat`、`free` 等其他系统监控工具结合使用,以全面分析 CPU、内存、网络等整体系统状态。