iostat
是一个用于监测系统输入/输出设备负载情况的命令行工具。它能够提供关于硬盘和网络接口的统计信息,包括每秒读写次数、传输速率等指标。
在大多数Linux发行版中,默认情况下会安装 iostat
工具或其相关包。如果未安装,可以通过以下命令进行安装:
sudo apt-get install sysstat
sudo yum install sysstat
要查看硬盘的I/O统计数据,可以使用 iostat
命令。默认情况下,它会每隔1秒显示一次统计信息。
iostat -dx 1 5
-d
: 忽略空闲设备。-x
: 显示详细信息(如平均队列长度、等待时间等)。1
: 每秒显示一次统计信息。5
: 总共显示5次。iostat -dx /dev/sda 1 5
在这个例子中,只监控 /dev/sda
磁盘的I/O情况。
要查看网络接口的统计信息,可以使用 -k
或 -K
选项来显示吞吐量和包数。例如:
iostat -k 1 5
-k
: 输出以千字节为单位的吞吐量。-c
: 显示CPU使用率。-t
: 在输出开始处显示时间戳。-m
: 以兆字节(MB)为单位显示I/O速率,而不是默认的Kb/s。以下是一个示例输出的解释:
Linux 5.10.0-21-amd64 (myhostname) 2023年10月8日 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
5.00 0.00 4.00 0.00 0.00 91.00
Device: tps kB_read/s kB_write/s
sda 2.36 18.78 523.02
avg-cpu
部分显示了CPU的使用情况。Device
部分显示了磁盘设备的读写速率。通过上述步骤,可以利用 iostat
命令来监控系统的I/O性能。这对于识别和解决I/O瓶颈非常有用。定期运行 iostat
可以帮助你更好地了解系统的工作负载,并进行必要的优化。