為了確保基準測試的穩定性,我希望在運行 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 頻率的正確控制。