turbostat 可直接读取 CPU 内部 MSR 寄存器,实时显示各核实际频率、睿频状态、温度及封装功耗,数据最接近硬件真实状态;需 root 权限和内核 ≥4.4,不适用于虚拟机。

直接用 turbostat 就能同时看到 CPU 各核的实际运行频率、温度和功耗,它不依赖系统调度器或驱动上报的“目标值”,而是读取处理器内部 MSR 寄存器,数据最接近硬件真实状态。
安装与权限准备
turbostat 是 Linux 内核工具集的一部分,需匹配当前内核版本:
- Ubuntu/Debian:运行
sudo apt install linux-tools-$(uname -r) linux-tools-common - CentOS/RHEL:运行
sudo yum install kernel-tools或dnf install kernel-tools - 必须用 root 权限 运行,否则无法访问 MSR 寄存器(会报错 Permission denied)
- 确认内核 ≥ 4.4,否则部分现代 CPU(如 AMD Zen、Intel 12/13/14 代)的功耗与 C-State 支持不完整
查看实时频率与睿频状态
运行以下命令,每秒刷新一次各核心的真实频率(GHz 列)和 Turbo 档位(Turbo 列):
sudo turbostat --interval 1
-
GHz 列 显示每个逻辑核心当前实际运行频率,比如
4.70表示 4.7 GHz —— 这才是你是否真在睿频的铁证 -
Turbo 列 非零(如
1或2)表示该核当前处于 Turbo Boost 状态;为0则未启用睿频 - 对比基频:可查
cat /sys/devices/system/cpu/cpu0/cpufreq/base_frequency(单位 kHz),若 GHz 列明显高于此值,即为睿频生效 - 注意:
/proc/cpuinfo中的cpu MHz是缓存值,有延迟;scaling_cur_freq是 governor 目标值,非硬件实测值
监控功耗与温度
turbostat 默认输出中包含关键功耗与热指标:
- Pkg_W:整个 CPU 封装的实时功耗(瓦特),反映整体负载与供电压力
- RAM_W:内存控制器功耗(部分平台支持),辅助判断内存带宽压力
- TSC 和 Avg_MHz:结合可估算实际性能吞吐效率
- Temp 列:每个核心的数字温度传感器读数(单位 ℃),来自 CPU 内部 DTS,比外部传感器更及时
- 若某核 Temp 持续 ≥95℃ 且 Pkg_W 不降,可能已触发 thermal throttling —— 此时 GHz 列会明显回落,但 turbostat 本身不显示“throttled”字样,需靠频率异常下降反推
进阶使用建议
日常诊断与记录可配合参数提升实用性:
- 加
--show精简列:如sudo turbostat --show "CPU,GHz,Turbo,Temp,Pkg_W" --interval 2,只关注核心字段 - 导出日志分析:用
sudo turbostat --interval 1 --out cpu_log.csv生成 CSV,方便后续用 Excel 或 Python 绘图 - 排查睿频失效:空载时所有核 GHz ≈ base frequency、Turbo 全为 0;满载时若 GHz 卡在某值不上升,先看 Temp 是否过高,再查 Pkg_W 是否已达 PL1/PL2 限制(需搭配
intel-rapl工具进一步确认) - 云服务器或虚拟机中通常无法使用 turbostat —— 因 MSR 被 hypervisor 锁定,此时只能退而求其次用
cpupower monitor查频率趋势











