可以通过在 14.04 上配置 /etc/rc.local 来禁用英特尔睿频加速,但不能在 16.04 上禁用

可以通过在 14.04 上配置 /etc/rc.local 来禁用英特尔睿频加速,但不能在 16.04 上禁用

我想在系统启动时禁用英特尔“turbo boost”。有关此原因以及我的笔记本电脑详细信息,请参阅我的 Stack Overflow 线程:为什么我的 CPU 无法在 HPC 中保持峰值性能?

在我自己做出的回答中,我使用了以下行/etc/rc.local

echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo

该解决方案的部分动机来自以下线程:在 ubuntu 中禁用 Intel Turbo Boost, 和曾是在二月份我将 Ubuntu 系统从 14.04 升级到 16.04 之前,它的工作情况与预期一致。但升级之后,它不再起作用:值no_turbo仍为 0,并且该行根本没有任何作用。

当然,我可以稍后手动执行以下操作:

sudo su
echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo
exit

但是,我不记得每次都这样做,当我意识到我忘记这样做并且必须重新运行长时间的基准测试(就像我现在正在做的那样)时,我感到非常沮丧。

能否解释为什么同样的解决方案在 16.04 中失败?或者我如何在启动时自动实现这一点?


注意,我在 中还有其他行rc.local,例如关闭英特尔超线程和设置背光,它们都有效。只有这行“turbo boost”失败了。所以问题不在于rc.local没有运行。

我的机器有 UEFI 引导加载程序。虽然有一个所谓的传统 BIOS 条目,但那里几乎没有可设置的选项。无法配置超线程或“turbo boost”。


如果有人想知道:

systemctl enable rc-local.service

并不能解决问题。

相关内容