在麒麟系统中确认睿频是否启用,需对比cpuinfo_max_freq与scaling_cur_freq,差值小于100khz且单线程负载下频率接近上限即激活;可用cpupower或turbostat辅助验证,多核须逐核检查。

在麒麟操作系统中确认CPU是否正在执行睿频加速(Intel Turbo Boost 或 AMD Precision Boost),需判断当前运行频率是否持续高于基础频率,并验证硬件级最大频率能力与实时频率的差值关系。仅看平均频率或型号标称值无法反映真实睿频状态。
读取 cpuinfo_max_freq 与 scaling_cur_freq 对比判断
这是最直接、无需额外工具的方法,依赖内核暴露的 sysfs 接口,结果反映物理真实。
打开终端,执行命令进入 CPU0 的 cpufreq 目录:
cd /sys/devices/system/cpu/cpu0/cpufreq
读取该核心硬件支持的最高频率(单位 kHz):
cat cpuinfo_max_freq
读取该核心当前实际运行频率(单位 kHz):
cat scaling_cur_freq
若 scaling_cur_freq 的值接近 cpuinfo_max_freq(差值 【小于 100000】),且系统有单线程负载(如运行 stress-ng -c 1),即可确认睿频已激活;若始终相差 >300 MHz,则睿频未触发或被 BIOS 禁用。
用 cpupower 查看结构化频率与策略信息
cpupower 封装了底层读取逻辑,输出更易读,还能同时验证调频策略是否允许睿频生效。
检查是否已安装 cpupower:
which cpupower
若未安装,执行:
sudo apt install linux-tools-common linux-tools-$(uname -r)
运行命令获取完整信息:
sudo cpupower frequency-info
重点查找两行:
— “maximum cpu frequency: X.XXXX GHz”(对应 cpuinfo_max_freq)
— “current policy: governor: performance”(若为 powersave 或 ondemand,睿频响应可能延迟或受限)
批量检查所有核心的实时睿频状态
多核系统中,睿频常只作用于活跃的少数核心,其他核心可能维持低频。必须逐个核验证,不能只看 cpu0。
第一步:获取逻辑 CPU 总数:
nproc
第二步:循环读取全部核心的当前频率(自动跳过不存在 cpufreq 的核心):
for i in $(seq 0 $(($(nproc)-1))); do freq=$(cat /sys/devices/system/cpu/cpu$i/cpufreq/scaling_cur_freq 2>/dev/null); if [ -n "$freq" ]; then echo "cpu$i: $(($freq/1000)) MHz"; fi; done
第三步:人工比对每个输出值与 cpu0 的 cpuinfo_max_freq(除以1000得 MHz)。若某 core 显示频率 ≥95% 的 max 值,即该核正处于睿频状态。
注意:ARM 平台(如鲲鹏、飞腾)无传统“Turbo Boost”,但部分型号支持类似 DVFS 动态升频,判断逻辑相同——看 scaling_cur_freq 是否贴近 cpuinfo_max_freq。
用 turbostat 验证 Intel CPU 的真实睿频行为
turbostat 是唯一能显示各核心瞬时倍频、Turbo 标志及是否突破标称上限的工具,专为 Intel CPU 设计,结果最权威。
方法一:安装并运行(需 root 权限):
sudo apt install linux-tools-common
sudo turbostat --show Pkg,Core,CPUs,GHz,Turbo,Idle%
方法二:观察关键列:
— “GHz” 列显示各核心当前频率(精确到 0.01 GHz)
— “Turbo” 列为 “1” 表示该核心正使用睿频
— 若某 Core GHz > cpuinfo_max_freq/1000,说明睿频已超基频上限(常见于 Intel 第11代+)
【未加 sudo 时 turbostat 多数字段为空,且虚拟机中通常不可用】











