cpufreq on archlinux

I don’t care about the noise my laptop produces, but when i sit at the university library the cpu fan seems to be very noisy =) The fan starts running from time to time and is very aggressive in its cooling attempts. I hope to get some improvements in this concern with cpu frequency scaling.

My Intel Celeron M (1.40GHz) can run at 175 MHz, 350 MHz, 525 MHz, 700 MHz, 875 MHz, 1.05 GHz, 1.23 GHz and 1.40 GHz. To activate the frequency scaling one needs to load these kernel modules:

  • p4_clockmod
  • cpufreq_userspace
  • cpufreq_ondemand
  • speedstep_lib

You can load these modules at boot time by adding them onto your MODULES line in your /etc/rc.conf. You’re able to set the desired frequency via cpufreq-set afterwards (you may need to install the cpufrequtils package).

The desired frequency for me is 175MHz. In order to get this, i perform “cpufreq -f 175” at the command line (as root). That does slow down all of my applications a lot, but i don’t need the laptop extensively when i sit at the libraries.

You might want to load the “ondemand” cpu frequency governor for better performance. It will adopt your cpu speed to your needs. If you use the cpu heavily, ondemand will give you a high cpu speed. But if you do much idling, the cpu will run at low rates. Since 175MHz can be really slow, you can set another minimal frequency for the governor (e.g. 525MHz):

cat 525000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq