cpustat 和 iostat 是两个非常有用的 Linux 命令,用于监控系统的 CPU 和 I/O 性能。将它们结合使用可以提供更全面的系统性能分析。
cpustat 是一个用于显示 CPU 统计信息的工具,通常作为 sysstat 包的一部分提供。它可以显示每个 CPU 的详细信息,包括用户态时间、系统态时间、空闲时间等。
基本用法:
cpustat
常用选项:
-p <CPU>: 指定要监视的 CPU。-m: 显示每个 CPU 的内存使用情况。-e: 显示扩展的 CPU 信息。iostat 用于报告 CPU 和输入/输出统计信息,也通常是 sysstat 包的一部分。它特别适合于监控磁盘 I/O 性能。
基本用法:
iostat
常用选项:
-c: 显示 CPU 统计信息。-m: 以 MB/s 为单位显示数据传输速率。-d: 显示磁盘设备的使用情况。-x: 显示扩展的磁盘统计信息。-t: 在输出中包含时间戳。同时监控 CPU 和 I/O 性能:
可以分别在两个终端窗口中运行 cpustat 和 iostat,以便实时查看 CPU 和 I/O 的状态。
使用脚本整合输出:
可以编写一个简单的脚本来同时获取 CPU 和 I/O 的统计信息。例如:
#!/bin/bash
while true; do
clear
echo "CPU Statistics:"
cpustat -c 1 1
echo "I/O Statistics:"
iostat -dxm 1 1
sleep 2
done
这个脚本会每两秒刷新一次 CPU 和 I/O 的统计信息。
日志记录:
如果需要长期监控,可以将输出重定向到日志文件中:
while true; do
cpustat -c >> cpu.log
iostat -dxm >> io.log
sleep 60
done
这样,CPU 和 I/O 的统计信息会被分别记录到 cpu.log 和 io.log 文件中。
通过结合使用 cpustat 和 iostat,你可以更好地了解系统的性能瓶颈,特别是在进行性能调优和故障排查时。