将CPU调速器设置为按需或保守


32

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

它说该模块不可用。

所以基本上我有两个问题:

  1. 我需要安装什么才能拥有按需模块
  2. 如何启用它?

1
取决于您的CPU,但可能会自动加载。请参阅Arch Wiki条目
jasonwryan 2014年

您能否将的输出添加sudo cpupower frequency-info到您的问题中。删除--governors以显示完整的详细信息。
bsd 2014年

Answers:


36

假设您的调控器是intel_pstate(从3.9版开始,Intel Sandy Bridge和Ivy Bridge CPU的默认设置)。这个问题并非特定于Arch,而是所有发行版都使用新的Intel pstate驱动程序来管理CPU频率/电源管理。Arch Linux CPU频率缩放


Theodore Ts'o在Google+上写了他的解释

  • 可以在启动时使用内核arg禁用intel_pstate intel_pstate=disable
  • 按需调速器的问题在于它不知道CPU的特定功能
  • 以较低的频率执行某些任务会比以较低的频率消耗更多的时间消耗更少的功率,例如算术运算,但不是对所有任务都正确,例如从内存中加载内容
  • intel_pstate驱动程序知道CPU工作方式的详细信息,并且比通用ACPI解决方案做得更好。
  • intel_pstate仅提供两个调控器,powersaveperformance。英特尔声称intel_pstate的“省电”速度比具有“性能”的通用acpi调速器快

要改回ACPI驱动程序,请重新启动并设置内核arg,intel_pstate=disable
然后执行modprobe acpi-cpufreq,您应该有按需调控器。

您可以通过编辑/etc/default/grub和添加使更改永久生效

GRUB_CMDLINE_LINUX_DEFAULT="intel_pstate=disable"

然后更新grub.cfgalagrub-mkconfig -o /boot/grub/grub.cfg

请遵循有关Arch内核模块加载的说明 并添加该acpi-cpufreq模块。


首先,感谢您的解释。现在很清楚。我将继续使用intel_pstate,这对我来说听起来不错。我正在使用tlp来控制笔记本电脑上的节能功能。我将其设置为在电池模式下使用“省电”,在交流模式下使用“性能”。由于“性能”将一直以其最大频率运行CPU,因此您是否发现任何问题?(即CPU过热或任何其他可能导致硬件问题的情况)
lviggiani 2014年

我发现一般来说,笔记本电脑需要定期清洁,部分拆卸才能吸收压缩空气并吹走灰尘,污垢和猫毛。仅仅因为一个人上电就不需要100%的性能,通常一个好的平衡计划会根据需要提高CPU的性能。
bsd 2014年

1
通用acpi performance调控器和intel_pstate 之间有区别performance,对吗?后者比前者和intel_pstate都快powersave
tsorn
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.