You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

cpufreq-info -w与cpufreq-info -f输出值差异过大的疑问

cpufreq-info -w与cpufreq-info -f输出值差异过大的疑问

环境信息

系统内核版本

uname -r
# 输出:
5.15.0-91-generic

CPU信息

lscpu
# 输出:
Architecture:            x86_64
CPU op-mode(s):        32-bit, 64-bit
Address sizes:         52 bits physical, 57 bits virtual
Byte Order:            Little Endian
CPU(s):                  384
On-line CPU(s) list:   0-383
Vendor ID:               AuthenticAMD
Model name:            AMD EPYC 9654 96-Core Processor

操作系统版本

cat /etc/os-release
# 输出:
PRETTY_NAME="Ubuntu 22.04.3 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

问题描述

当我尝试获取当前CPU时钟频率时,使用cpufreq-info -w和cpufreq-info -f得到了差异极大的结果,想请教这是为什么?以及哪一个数值才是我需要关注的当前CPU运行频率?

问题解答

嗨,这个疑问其实挺常见的,核心原因很简单——这两个命令查的根本不是同一个东西😉

先搞懂两个参数的本质区别

  1. cpufreq-info -f:CPU实时运行频率
    这个值是CPU此刻实际在工作的频率,完全跟着系统负载和电源管理策略动态变化。你的AMD EPYC 9654是服务器级CPU,系统默认的电源管理策略(比如ondemand或者AMD P-state)会非常智能:当系统空载/负载很低时,CPU会自动降频到很低的数值来节省功耗;一旦有计算任务上来,会瞬间拉升频率(甚至跑到睿频上限)来满足性能需求。

  2. cpufreq-info -w:CPU硬件标称的频率上限
    这个值是你这颗CPU出厂时硬件设计支持的最高稳定频率(对应AMD EPYC 9654的话,就是3.7GHz左右的睿频上限),它是一个固定的硬件参数,不会随系统状态变化。

哪一个值才是你需要的?

  • 如果你想知道当前CPU实际在跑多快,看cpufreq-info -f的结果就对了,它是实时的;
  • 如果你想确认你的CPU硬件本身能达到的最高性能上限,那cpufreq-info -w的结果就是你要的。

验证方法(可以自己试试)

你可以跑一个CPU满负载的测试命令,比如:

stress -c 384

然后在另一个终端窗口里再跑cpufreq-info -f,这时候你会看到输出的频率会非常接近甚至达到cpufreq-info -w的数值——因为CPU满负载了,电源管理策略会让它跑到硬件允许的最高频率。

备注:内容来源于stack exchange,提问作者xiaojueguan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 10:25:33