在12.04中禁用Intel Turbo Boost

我有一个关于Intel Turbo Boost和在Ubuntu 12.04中禁用它的问题。我想禁用Turbo Boost,因为它会产生很多热量,并且在Ubuntu上我没有发现有需要使用它(因为相对于Windows来说,Ubuntu非常轻量级)。我发现通过安装msr-tools并运行modprobe msr然后:
wrmsr -p(PROCESSOR) 0x1a0 0x4000850089

在这里,PROCESSOR是我的CPU核心数量,允许我关闭该核心的Turbo Boost。在将msr添加到我的etc/modules文件和将wrmsr行添加到我的rc.local文件后,我发现我能够在启动时关闭Turbo Boost。

我的问题是:我使用的这种方法是否安全地禁用了Turbo Boost,还是应该尝试找到其他解决方法。

我有一台MSI-GE60笔记本,在BIOS中没有Turbo Boost设置,所以像这样更改似乎是唯一的方法。

感谢任何能提供帮助的人。

4个回答

你还可以通过将/sys/devices/system/cpu/cpufreq/boost设置为0来禁用提升功能。

在linux-generic-3.13上,这种方法不再起作用:将增强设置为零没有效果,Turbo Boost仍然启用。然而,设置最大缩放频率是有效的(我使用TLP来实现此功能)。 - TiGR
实际上,在3.13.0-44-generic x86_64上,它对我仍然有效。更新的相关内核文档也仍然列出了这一点。也许还有其他原因导致它无法工作? - Jonas Malaco

你可以将最大CPU频率设置为接近超级加速的设置 - 附上我在rc.local中使用的代码。
echo 1 > /sys/module/processor/parameters/ignore_ppc

for x in /sys/devices/system/cpu/cpu[0-3]/cpufreq/;do 
  echo 2501000 > $x/scaling_max_freq
done

在我的系统中,250100的速度是涡轮速度,非涡轮速度为2500000。
查尔斯·格林

例如,要在超过69度时禁用涡轮,您可以每1分钟设置一个crontab。
echo $[`cat /sys/devices/platform/coretemp.0/hwmon/hwmon0/temp1_input`/69000] > /sys/devices/system/cpu/intel_pstate/no_turbo

你很可能需要通过BIOS来完成这个操作 - 至少对我来说是这样的。否则,你可以安装indicator-cpufreq(sudo apt-get install indicator-cpufreq),并将其设置为不使用Turbo的模式,比如保守模式。你甚至可以将其设置为一个恒定的速度(我的通常是1.2),当你发现电脑变慢时再进行调整。我还推荐使用Hardware Sensors Indicator。
 sudo add-apt-repository ppa:alexmurray/indicator-sensors
 sudo apt-get update
 sudo apt-get install indicator-sensors

为了监测您的体温并确保它不会过高。