为了保证基准测试的稳定性,我希望在运行 Fedora 23 的 Dell R430 测试服务器中以标称频率运行 E5-2680 v3 2.5 GHz CPU——不多也不少。
我已禁用该intel_pstate
驱动程序,并且/proc/cpuinfo
似乎表明它们正在以请求的速度运行,所有内核均显示 ~2500 MHz。
然而:cpufreq
程序显示频率不是固定的,例如在一个核心运行重负载的服务器上:
# cpupower monitor -m Mperf
|Mperf
CPU | C0 | Cx | Freq
0| 3.48| 96.52| 1198
1| 7.28| 92.72| 1198
2| 4.88| 95.12| 1198
3| 3.76| 96.24| 1198
4| 3.53| 96.47| 1198
5| 7.17| 92.83| 1198
6| 4.18| 95.82| 1198
7| 8.75| 91.25| 1198
8| 8.51| 91.49| 1198
9| 6.41| 93.59| 1198
10| 99.98| 0.02| 2896
11| 7.33| 92.67| 1198
因此,显然有一个核心的运行速度高于标称速率,而其他 11 个核心则处于空闲状态。
这可能cpupower
给我提供了错误的信息,但如果不是的话,CPU 核心以一致的速度运行对于我的基准测试至关重要。
我是否遗漏了什么,或者是否无法按照我的要求调整速度?
答案1
我随后发现这是因为 BIOS 系统配置文件设置被设置为默认的“SysDbpm”(BIOS 控制的 Speedstep)而不是“OsDbpm”(O/S 控制)。
通过正确设置 BIOS 并重新启动,acpi-cpufreq
驱动程序重新获得了对 CPU 频率的正确控制。