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

将 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

它说该模块不可用。

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

  1. 我需要安装什么才能拥有 ondemand 模块
  2. 我怎样才能启用它?

答案1

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


Theodore Ts'o 写下了他的解释谷歌+:

  • intel_pstate 可以在启动时使用内核 arg 禁用intel_pstate=disable
  • ondemand调控器的问题在于它不知道CPU的具体能力
  • 以较高频率执行某些任务将比以较低频率执行需要更多时间的功耗更少,例如算术任务,但并非所有任务都如此,例如从内存加载某些内容
  • intel_pstate 驱动程序了解 CPU 工作原理的详细信息,并且比通用 ACPI 解决方案做得更好
  • intel_pstate 仅提供两个调速器,powersave并且performance.英特尔声称 intel_pstate“powersave”比具有“性能”的通用 acpi 调速器更快

要改回 ACPI 驱动程序,请重新启动并设置内核 argintel_pstate=disable
然后执行modprobe acpi-cpufreq,您应该可以使用 ondemand 调控器。

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

GRUB_CMDLINE_LINUX_DEFAULT="intel_pstate=disable"

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

跟着Arch 内核模块加载说明 并添加acpi-cpufreq模块。

答案2

当他发帖时,怎么会有人认为这个人正在寻求有关英特尔CPU的帮助: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

清楚地表明他有 AMD cpu

.... 这让我想知道 .....

相关内容