How I can disable CPU frequency scaling and set the system to performance?

168,795

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:

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

After having installed cpufrequtils by sudo apt-get install cpufrequtils , look at the info given by the command cpufreq-info, then create a file - sudo nano /etc/default/cpufrequtils - and write into it as examplified in picture below. In your case max and min would be the same value.

GOVERNOR="ondemand"
MIN_SPEED="800MHz"
MAX_SPEED="950MHz"

Lastly the command to make the change take action and be permanent (except when booting up, that is) sudo /etc/init.d/cpufrequtils restart , resulting in this output from cpufreq-info:

peter@peter-HP-Compaq-2510p:~$ cpufreq-info
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to [email protected], 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:~$ 

This works for me on Xubuntu 18.04.2

Share:
168,795

Related videos on Youtube

toptenweb
Author by

toptenweb

Updated on September 18, 2022

Comments

  • toptenweb
    toptenweb over 1 year

    My processor is running at 40% of its maximum speed, I want it to use 100% of the speed, all the time. I searched on Google but the tutorials are very old and they all differ.

    So, how can I permanently disable CPU frequency scaling and set my system to performance mode?

    Please, only terminal based solutions, I don't want applets.

    I'm using Xubuntu 14.04 x64.

  • RubenLaguna
    RubenLaguna about 9 years
    /etc/default/cpufrequtils/ doesn't exist on my Ubuntu 14.04, it seems that the correct path is /etc/init.d/cpufrequtils
  • David 天宇 Wong
    David 天宇 Wong about 9 years
    I did this with my server but I'm wondering if I should disable it after doing what I needed to do. Is this going to kill my server in the long run?
  • Jérôme
    Jérôme almost 9 years
    @ecerulm: /etc/default/cpufrequtils/ is sourced in /etc/init.d/cpufrequtils so it works just as well, and it is easier to maintain your own settings over package updates if configured in /etc/default/cpufrequtils/.
  • Suici Doga
    Suici Doga almost 8 years
    My A8-4500M still throttles although the temperature is below 80C since I undervolted it
  • laconbass
    laconbass over 7 years
    Just to note, you can also (sudo) cpufreq-set -g performance
  • sudo
    sudo almost 7 years
    I followed these steps in Ubuntu Server 14, but cpufreq-info still shows that some of my cores are downclocked. Could it be that some hardware override is preventing this from working?
  • Xen2050
    Xen2050 over 6 years
    If you disable the ondemand governor (with update-rc.d) does that mean you can't later switch to it with cpufreq-set even temporarily? And how did sysfsutils cause unstability, is there a Ubuntu bug about it?
  • Fabby
    Fabby about 5 years
    Welcome to Ask Ubuntu. :-) Can you please edit your answer, remove the pictures and replace them with text indented by 4 spaces, please? Then leave a comment @Fabby and I'll turn the downvote into an upvote. (Why? Because pictures are not searchable by Google...)
  • PeterEriksson
    PeterEriksson about 5 years
    @ Fabby The question now also supplies the examples in texted version! I can understand the purpose. However, for readability on my screen, it is better with pictures as I then don't have to side-scroll in the text. Don't have widescreen, which might solve that problem?
  • Fabby
    Fabby about 5 years
    My apologies: tt's much clearer like this... (not as beautiful, but much more functional.) if you insist on having pictures in there, please feel free to roll back to the previous version and I'll even leave the upvote standing, but it's just not the way we do things here: text is text and GUI = screenshot! ;-)
  • The Thirsty Ape
    The Thirsty Ape over 3 years
    FYI, for newer OS versions replace the sudo update-rc.d ondemand disable command with sudo systemctl disable ondemand