Linux-Kernel
將 CPU 調控器設置為按需或保守
我
cpupower
在 ArchLinux 上苦苦掙扎。我想將調速器設置為ondemand
甚至設置為conservative
.首先,如果我這樣做
$ sudo cpupower frequency-info --governors
,我只會得到performance powersave
。所以我尋找這樣的可用模組
ls -1 /lib/modules/`uname -r`/kernel/drivers/cpufreq/
…我得到
acpi-cpufreq.ko.gz amd_freq_sensitivity.ko.gz cpufreq_conservative.ko.gz cpufreq_powersave.ko.gz cpufreq_stats.ko.gz cpufreq_userspace.ko.gz p4-clockmod.ko.gz pcc-cpufreq.ko.gz powernow-k8.ko.gz speedstep-lib.ko.gz
因此,首先似乎沒有“按需”模組可用。我想念什麼?
然後我嘗試啟用至少保守的:
$ sudo modprobe cpufreq_conservative
然後我檢查模組是否實際載入
$ lsmod | grep cpufreq
並檢查它現在是否可用
$ sudo cpupower frequency-info --governors
但不幸的是,我仍然得到相同的結果:
performance powersave
只有,如果我嘗試啟用保守$ sudo cpupower frequency-set -g conservative
它說該模組不可用。
所以基本上我有兩個問題:
- 我需要安裝什麼才能擁有按需模組
- 我該如何啟用它?
假設您的調控器是 intel_pstate(從核心 3.9 開始,Intel Sandy Bridge 和 Ivy Bridge CPU 的預設設置)。這個問題不是 Arch 特有的,而是所有使用新的 Intel pstate 驅動程序來管理 CPU 頻率/電源管理的發行版。Arch linux CPU 頻率縮放。
Theodore Ts’o 將他的解釋寫在
$$ Google+ $$,(死連結)2:
- intel_pstate 可以在啟動時使用核心 arg 禁用
intel_pstate=disable
- ondemand 調控器的問題在於它不知道 CPU 的具體能力
- 以較高頻率執行某些任務將比較低頻率花費更多時間(例如算術內容)消耗更少的功率,但並非對所有任務都是如此,例如從記憶體中載入某些內容
- intel_pstate 驅動程序了解 CPU 工作方式的詳細資訊,並且它比通用 ACPI 解決方案做得更好
- intel_pstate 僅提供兩個調控器,
powersave
並且performance
. 英特爾聲稱 intel_pstate“powersave”比具有“性能”的通用 acpi 調控器更快要改回 ACPI 驅動程序,重新啟動並設置核心 arg
intel_pstate=disable
然後執行
modprobe acpi-cpufreq
,您應該可以使用按需調控器。
/etc/default/grub
您可以通過編輯和添加使更改永久化GRUB_CMDLINE_LINUX_DEFAULT="intel_pstate=disable"
然後更新
grub.cfg
alagrub-mkconfig -o /boot/grub/grub.cfg
按照Arch 核心模組載入的說明 添加
acpi-cpufreq
模組。