`iostat` 是一个用于监控 Linux 系统磁盘 I/O 和 CPU 使用情况的命令行工具。它可以帮助用户了解系统的性能状态,并根据统计信息进行相应的系统配置调整以优化性能。
基本用法
`iostat` 的基本语法如下:
```
iostat [选项] [时间间隔] [次数]
```
`-c`:显示 CPU 使用情况。
`-d`:显示磁盘使用情况。
`-k` 或 `-m`:以 KB 或 MB 为单位显示磁盘活动情况。
`-t`:在输出中添加时间戳。
`-V`:显示版本信息。
`-x`:显示详细信息。
`-p`:显示指定磁盘或分区的使用情况。
`interval`:指定报告之间的时间间隔,单位为秒。
`count`:指定生成报告的次数。
输出解释
`iostat` 的输出通常包含 CPU 利用情况和磁盘 I/O 利用情况。以下是部分关键输出项的解释:
`avg-cpu`:
`%user`:在用户级别运行所使用 CPU 的百分比。
`%nice`:nice 操作所使用 CPU 的百分比。
`%system`:在系统级别(kernel)运行所使用 CPU 的百分比。
`%iowait`:CPU 等待硬件 I/O 时所占用的百分比。
`%idle`:CPU 空闲时间的百分比。
`Device`:
`tps`:该设备每秒的传输次数(每秒的 I/O 请求数)。
`Blk_read/s`:每秒从设备读取的数据量。
`Blk_wrtn/s`:每秒向设备写入的数据量。
`Blk_read`:读取的总数据量。
`Blk_wrtn`:写入的总数据量。
示例
```
iostat -d -k 2 3
```
此命令将显示磁盘 `sda` 的使用情况,数据每 2 秒刷新一次,共显示 3 次。
注意事项
`iostat` 的输出结果大多数是一段时间内的平均值,可能难以反映峰值情况。
`iostat` 不能对某个进程进行深入分析,仅对系统的整体情况进行分析。
`iostat` 未单独统计 IO 处理信息,而是将 IO 处理时间和 IO 等待时间合并统计,因此包括 `await` 在内的指标可能不能非常准确地衡量磁盘性能表现。
安装
`iostat` 属于 `sysstat` 软件包,在 Debian/Ubuntu 系统上可以使用以下命令安装:
```
sudo apt install sysstat
```
在 Red Hat/CentOS 系统上可以使用以下命令安装:
```
sudo yum install sysstat
```
请根据您的 Linux 发行版选择合适的安装命令。