cpustat 这一工具,经常从事性能优化的开发者应该都很熟悉。作为 sysstat 软件包中的核心组件,它日常用于监控 CPU 使用率十分便捷。不过,很多人发现它默认并不会直接显示 CPU 频率——那么,究竟如何借助 cpustat 来实时追踪 CPU 频率变化呢?这个问题其实有专门的技巧,下面我们逐步拆解分析。

首先,需要确认系统已安装 sysstat。不同 Linux 发行版的安装命令略有差异:
- Debian/Ubuntu 上:
sudo apt-get install sysstat - CentOS/RHEL 上:
sudo yum install sysstat - Fedora 上:
sudo dnf install sysstat
安装完成后,直接运行 cpustat 即可查看 CPU 的各项指标。但若想监控 CPU 频率,则需要使用正确的参数。试试以下命令:
cpustat -c -i ALL 1
其中 -c 参数用于输出 CPU 使用情况,-i ALL 表示监控所有核心,最后的 1 代表刷新间隔(每秒采集一次)。输出结果会包含每个 CPU 核心的使用率、上下文切换次数、中断次数等信息,但坦白说,该命令并不会直接显示当前的 CPU 频率数值。
那么,有什么方法可以获取 CPU 频率呢?这里提供两种常见的替代方案:
方案一:使用 lscpu 快速查看频率
lscpu 可以一次性输出 CPU 架构、型号以及频率信息。若只想查看频率,配合 grep 命令即可:
lscpu | grep "MHz"
输出结果会直接显示当前运行的 CPU 频率(单位为 MHz),简洁直观。
方案二:通过 cpufreq-info 获取更详细的频率信息
如果系统启用了 CPU 频率调节机制(例如 intel_pstate 或 acpi-cpufreq 驱动),cpufreq-info 可以揭示当前的频率策略与实时运行频率。执行以下命令:
cpufreq-info | grep "current policy"
你将看到类似“current policy: frequency should be within 1.20 GHz and 3.60 GHz”的提示,紧接着还会显示实际运行频率。
最后需要提醒一点:cpustat 的具体输出格式可能因系统版本和配置而有所不同。如果遇到异常情况,最可靠的做法是查阅 sysstat 的手册页——运行 man cpustat 通常能获得更详细的说明,或者直接参考官方文档。
