将英特尔 pstate 驱动程序永久设置为“被动”

将英特尔 pstate 驱动程序永久设置为“被动”

我的 i5-11600K CPU 正在使用英特尔_pstate频率缩放。

默认情况下,驱动程序处于“活动”模式,并将限制所有 6 个物理核心,即使只有一个核心在工作。

为了修复这个问题,我这样做:

# echo "passive" >  /sys/devices/system/cpu/intel_pstate/status

但重启后,该设置又消失了。

我如何才能永久地将 intel_pstate 模式设置为passive

答案1

您可以通过内核命令行强制 intel_pstate CPU 频率调节驱动程序作为 intel_cpufreq 驱动程序(又称为被动模式下的 intel_pstate)启动。您可以用同样的方式选择所需的 CPU 频率调节调节器。

通过在现有内容中添加指令来编辑/etc/default/grub和更改以包含所需内容。GRUB_CMDLINE_LINUX_DEFAULT

GRUB_CMDLINE_LINUX_DEFAULT="intel_pstate=passive cpufreq.default_governor=schedutil"

请记住随后执行的操作sudo update-grub,并在编辑之前保存 grub 的副本。

现在,Ubuntu 还有一个服务可以覆盖所需的调控器,将其设置为按需。可以禁用它:

sudo systemctl disable ondemand

我还喜欢禁用 HWP(HardWare Pstate)控制,因此我的实际 grub 命令行是:

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 consoleblank=450 intel_pstate=passive intel_pstate=no_hwp cpufreq.default_governor=schedutil msr.allow_writes=on cpuidle.governor=teo"

答案2

这个对我有用,可以删除现有的 Intel_pstate 驱动程序并使用 ACPI:driver

GRUB_CMDLINE_LINUX_DEFAULT=UB_CMDLINE_LINUX_DEFAULT="intel_pstate=disable acpi=force"

并更新 grub

sudo update-grub

reboot

并检查

cpufreq-info

相关内容