How I can disable CPU frequency scaling and set the system to performance?
Solution 1:
After struggling with ondemand
for a while, I will share how to permanently disable it in Ubuntu and its derivates.
Install cpufrequtils
:
sudo apt-get install cpufrequtils
Then edit the following file (if it doesn't exist, create it):
sudo nano /etc/default/cpufrequtils
And add the following line to it:
GOVERNOR="performance"
Save and exit.
Now you need to disable ondemand
daemon, otherwise after you reboot the settings will be overwritten.
sudo update-rc.d ondemand disable
And you are done!
You can check your settings with:
cpufreq-info
It will show a block of information for every core your processor has. Just check if all of then are in performance mode, and at the maximum speed of your processor.
Update:
The Debian Wiki says that sysfsutils
is necessary in order to maintain the settings across reboots, but that is untrue. Also, enabling sysfsutils
make my system unstable, so it's not recommended.
Sorry if I misspelled something. :)
Sources:
- https://wiki.debian.org/HowTo/CpuFrequencyScaling
- Disable "ondemand" CPU scaling daemon
Solution 2:
I cannot comment, so I had to resort to a new answer. For immediate results, make sure you do sudo /etc/init.d/cpufrequtils restart
for the new frequency to kick in after you follow all of Dennie's steps.
Solution 3:
Try this:
gksu gedit /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Replace ondemand
with performance
. Repeat for every core (increase cpu0: cpu1, cpu2).
If you get save errors, use nano editor:
sudo nano /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Source: Avoiding CPU Speed Scaling – Running CPU At Full Speed