Maximum CPU frequency stuck at low value

12,573

Solution 1

The problem was identical to that described on this blog - the BIOS was limiting my CPU frequency, or at least suggested that Linux limits it:

# cat /sys/devices/system/cpu/cpu0/cpufreq/bios_limit 
2000000

To override that you need to type

# echo 1 > /sys/module/processor/parameters/ignore_ppc
# echo -n 2710000 >  /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
# cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
2710000

However, in my case the bios_limit seems to be on regardless of whether I run on batteries, or AC. Overriding this limitation works as charm.

You may also need to update grub to force Ubuntu to ignore the bios limiting. This can be achieved by:

Opening the grub file:

sudo vim /etc/default/grub

Replace GRUB_CMDLINE_LINUX_DEFAULT line:

- GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
+ GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_pstate=disable processor.ignore_ppc=1"

Update grub:

sudo update-grub

Reboot

Solution 2

Don't know much about this side of things, but i think that cpufrequtils lets you do it by using

sudo apt-get install cpufrequtils
sudo cpufreq-set -r -g performance #-r for related (all) the cores

Solution 3

It can be a hardware issue too. If yours laptop is 3+ y.o, the thermal interface on CPU and GPU is dry and doesn't perform as it should.

I had the similar issue with my ThinkPad T520. After trying all recommendations I've found online, I've decided to check cooling system. After notebook disassembly, there were no any visual signs that something is very wrong, but, after the old thermal interface was replaced with fresh thermal greese — it solved the issue! Unit-tests execution on my project speed up from 45 min to 11 min.

One thing which confused me pretty much — when there were obvious big issues with CPU cooling, my laptop wasn't hot or even warm. Also, cooler rotated at standart speed.

Share:
12,573
Rohith C
Author by

Rohith C

Updated on September 18, 2022

Comments

  • Rohith C
    Rohith C over 1 year

    I have observed a problem with Ubuntu 13.04. The problem was not there on 11.10 I used earlier. The maximum CPU frequency is stuck at 2GHzon my Intel(R) Core(TM) i7-2620M CPU @ 2.70GHz (Dell Lattitude E6320)

    # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
    2000000
    
    # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies 
    2701000 2700000 2400000 2200000 2000000 1800000 1600000 1400000 1200000 1000000 800000
    
    # echo 2700000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
    
    # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
    2000000
    

    I can set scaling_max_freq to a lower value and that works. I can also go back to 2GHz, but not more than that:

    # echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
    # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
    800000
    
    # echo 2000000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
    # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
    2000000
    
    # echo 2200000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
    # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
    2000000
    

    Nothing I do seems to help - I have installed TLP, uninstalled it, checked different kernel versions available in 13.04. I have attached and removed the power supply. I have changed the governors and also used the userspace. Regardless of whether I am on AC or battery, the above problem persists.

    I have seen people having similar problems before (here, or here), but that was related to a kernel bug back in 2008 and does not seem to be relevant.

    Does anyone know how to fix this?

  • Rohith C
    Rohith C almost 11 years
    That does not help, unfortunately
  • Rohith C
    Rohith C almost 11 years
    @psusi done, ths.
  • axel22
    axel22 about 7 years
    I did this change (the change in GRUB), and now the /proc/cpuinfo reports 2801MHz, which is supposed to be the turbo mode. However, temperature sensors say: ``` CPU: +77.0°C ``` which indicates that /proc/cpuinfo is very likely lying - normally the temperature is 90 C. In fact, from running some standard Java benchmarks (that I ran many times previously) indicates that the speed is not what /proc/cpuinfo says, but somewhere around 2.4-2.6 GHz.
  • rjt
    rjt about 3 years
    When scaling up the Hertz successfully, do the number of cores drop? Or do some cores drop to zero Hz?