cpufreq-info -w 和 cpufreq-info -f 的值有很大不同

cpufreq-info -w 和 cpufreq-info -f 的值有很大不同

环境:

# uname -r 5.15.0-91-通用

# lscpu 架构:x86_64 CPU 操作模式:32 位、64 位 地址大小:52 位物理地址、57 位虚拟地址 字节顺序:小端 CPU:384 在线 CPU 列表:0-383 供应商 ID:AuthenticAMD 型号名称:AMD EPYC 9654 96 核处理器

# 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 时钟时,我得到了以下结果,为什么它们非常不同以及哪个值是逻辑 CPU 的正确值。

# cpufreq-info -c 1 -w -m
2.40 GHz
# cpufreq-info -c 1 -f -m
3.70 GHz

更多信息

# cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
performance
# cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_cur_freq
3699847

答案1

每个核心的时钟频率可能会根据负载不断变化 - 因此如果不是在完全相同的实例中进行,则两个读数都可能是准确的。

为了Epyc 9654,2.4 GHz 是标称/基本时钟频率,表示轻负载。3.7 GHz 是最大提升频率,表示满负载。

此外,-f使用 cpufreq 作为源,同时-w“从硬件”读取(需要 root 权限),因此-w读取的内容可能更新。

相关内容