如何禁用CPU频率调节并将系统设置为性能模式?

我的处理器运行速度只有最大速度的40%,我希望它始终能以100%的速度运行。我在谷歌上搜索了一下,但是教程都很旧而且各不相同。
所以,请问如何永久禁用CPU频率调节并将系统设置为性能模式?
请提供基于终端的解决方案,我不想使用小程序。
我使用的是Xubuntu 14.04 x64版本。

3对于好奇的人:Linux中的CPU频率调节 - Jérôme
相关链接:https://askubuntu.com/questions/1021748/set-cpu-governor-to-performance-in-18-04 | https://askubuntu.com/questions/410860/how-to-permanently-set-cpu-power-management-to-the-powersave-governor | https://askubuntu.com/questions/1137738/laptop-slow-performance-on-battery-power - Ciro Santilli OurBigBook.com
6个回答

在与ondemand挣扎了一段时间后,我将分享如何在Ubuntu及其衍生版本中永久禁用它。
安装cpufrequtils
sudo apt-get install cpufrequtils

然后编辑以下文件(如果不存在,则创建它):
sudo nano /etc/default/cpufrequtils

并在其中添加以下行:
GOVERNOR="performance"

保存并退出。
现在您需要禁用“ondemand”守护程序,否则在重新启动后设置将被覆盖。
sudo update-rc.d ondemand disable

你已经完成了!
你可以使用以下方式检查你的设置:
cpufreq-info

它将显示每个处理器核心的信息块。只需检查它们是否都处于性能模式,并以处理器的最大速度运行即可。
更新:
Debian Wiki表示需要sysfsutils才能在重新启动后保持设置,但这是不正确的。此外,启用sysfsutils会使我的系统不稳定,因此不建议使用。
如果我拼错了什么,请见谅。 :)
来源:

2在我的Ubuntu 14.04上,/etc/default/cpufrequtils/ 路径不存在,看起来正确的路径应该是 /etc/init.d/cpufrequtils - RubenLaguna
1我用我的服务器做了这个,但我在想完成所需的工作后是否应该禁用它。这样会对我的服务器造成长期损害吗? - David 天宇 Wong
4@ecerulm:/etc/default/cpufrequtils//etc/init.d/cpufrequtils 中被引用,因此它的功能同样出色,并且如果在 /etc/default/cpufrequtils/ 中进行配置,可以更轻松地在软件包更新时维护自己的设置。 - Jérôme
3实际上,在我的3.19.0-51-generic Ubuntu服务器上,“性能”默认被/etc/init.d/ondemand覆盖。因此,在执行sudo update-rc.d ondemand disable之后重新启动就足够了。 - wick
尽管我对A8-4500M进行了降压处理,但它仍然存在着过热的问题,即使温度低于80摄氏度。 - Suici Doga
我在Ubuntu Server 14中按照这些步骤进行操作,但是cpufreq-info仍然显示我的一些核心被降频了。可能是某些硬件覆盖导致无法正常工作吗? - sudo
如果您禁用了ondemand调度器(使用update-rc.d),那么这是否意味着您之后无法使用cpufreq-set切换到它,即使是临时的?sysfsutils是如何引起不稳定性的?是否有关于此问题的Ubuntu错误报告? - Xen2050
3请注意,对于较新的操作系统版本,请将“sudo update-rc.d ondemand disable”命令替换为“sudo systemctl disable ondemand”。 - The Thirsty Ape

我无法评论,所以不得不采取新的答案。为了立即看到结果,请确保在按照Dennie的步骤完成后执行sudo /etc/init.d/cpufrequtils restart以使新的频率生效。

6只是提一下,你也可以使用(sudo)cpufreq-set -g performance - laconbass

试试这个:

gksu gedit /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

替换 ondemandperformance。重复操作对每个核心 (增加 cpu0: cpu1, cpu2)。
如果出现保存错误,请使用 nano 编辑器。
sudo nano /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

源代码:避免CPU速度调整 - 让CPU以全速运行

我之前在这个网站上遇到了问题,无法保存文件,无论是鼠标垫还是纳米都给我报错。 - Removed
@Dennis gedit 给我也报错了,但是文件尽管有错误还是保存了。关闭编辑器然后再打开看看是否已经保存。 - Cornelius
你说得对,确实已经保存了。但是当我重新启动电脑时,它又回到了按需模式。 - Removed
@Dennis确实,这里也提到了同样的问题(链接:http://askubuntu.com/questions/181461/cpu-frequency-scaling-methods-not-working-lubuntu-12-04?rq=1),但没有答案... - Cornelius
我成功地将系统设置为性能模式,并使用了100%的时钟速度,按照Debian维基上的说明进行操作:https://wiki.debian.org/HowTo/CpuFrequencyScaling。然而,我遇到了另一个问题。当我重新启动电脑后,大约一两分钟后,系统会自动切换回按需模式,我的时钟速度再次降低。似乎有某个东西在覆盖我的设置。 - Removed
1我找到了解决办法,你需要禁用ondemand守护进程,使用以下命令:sudo update-rc.d ondemand disable (http://askubuntu.com/questions/3924/disable-ondemand-cpu-scaling-daemon) - Removed

安装了cpufrequtils之后,通过命令sudo apt-get install cpufrequtils,查看命令cpufreq-info提供的信息,然后创建一个文件 - sudo nano /etc/default/cpufrequtils - 并按照下面的图片示例写入其中。在您的情况下,最大值和最小值将是相同的数值。
GOVERNOR="ondemand"
MIN_SPEED="800MHz"
MAX_SPEED="950MHz"

最后,要使更改生效并永久生效(除非重新启动),请运行以下命令:sudo /etc/init.d/cpufrequtils restart,然后从cpufreq-info获得以下输出:
peter@peter-HP-Compaq-2510p:~$ cpufreq-info
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us.
  hardware limits: 800 MHz - 1.20 GHz
  available frequency steps: 1.20 GHz, 1.07 GHz, 933 MHz, 800 MHz
  available cpufreq governors: conservative, ondemand, userspace,  powersave, performance
  current policy: frequency should be within 800 MHz and 950 MHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 933 MHz.
  cpufreq stats: 1.20 GHz:1,27%, 1.07 GHz:0,01%, 933 MHz:95,97%, 800  MHz:2,75%  (5975)
analyzing CPU 1:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 1
  CPUs which need to have their frequency coordinated by software: 1
  maximum transition latency: 10.0 us.
  hardware limits: 800 MHz - 1.20 GHz
  available frequency steps: 1.20 GHz, 1.07 GHz, 933 MHz, 800 MHz
  available cpufreq governors: conservative, ondemand, userspace,  powersave, performance
  current policy: frequency should be within 800 MHz and 950 MHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 800 MHz.
  cpufreq stats: 1.20 GHz:1,26%, 1.07 GHz:0,01%, 933 MHz:95,83%, 800  MHz:2,90%  (7039)
peter@peter-HP-Compaq-2510p:~$ 

这对我在Xubuntu 18.04.2上有效。

1欢迎来到Ask Ubuntu。**:-)** 你能否请修改你的回答,删除图片并用缩进4个空格的文本代替它们?然后在评论中提及@Fabby,我将把负评变为正评。(为什么?因为图片无法被谷歌搜索到...) - Fabby
@Fabby 现在的问题也提供了文本版本的示例!我能理解这样做的目的。然而,为了在我的屏幕上阅读方便,最好还是用图片,这样我就不必在文本中左右滚动了。没有宽屏,可能会解决这个问题吗? - PeterEriksson
非常抱歉:这样更清晰……(不太美观,但功能更强大)。如果你坚持要加入图片,请随意回滚到之前的版本,我甚至会保留点赞,但这不是我们在这里的做事方式:文本就是文本,GUI = 屏幕截图!**;-)** - Fabby

我有一台Dell Precision 5510,无论我如何更改内核CPU调度器/频率设置,它都被永久设定为以800Mhz运行。最后,我不得不拆下背板,断开电池连接,使用交流电源启动,关机,重新连接电池,然后再安装背板。这样重置了硬件内部的某些东西,使我的Dell能够再次以3.6Ghz运行。

最近的内核版本中,对于英特尔硬件,频率驱动程序仍然具有一定的灵活性,即使你将调度器设置为用户空间模式。
你可以通过以下方式完全关闭它(临时):
echo off > /sys/devices/system/cpu/intel_pstate/status