CPU frequency selection

From Wsms

Jump to: navigation, search

Linux gives you the ability to set the CPU speed on some hardware such as laptops. This is known as "CPU Frequency Scaling" and is facilitated by the X86_ACPI_CPUFREQ kernel code, which is part of Linux Kernel 2.6 (and earlier?).

This capability is not the same as underclocking or overclocking because it is done on-the-fly after booting and is specifically supported by the hardware and the Linux kernel.

The commands are shown on my ThinkPad T30 laptop running Linuxmint 3.0.

Contents

command line

First see if your hardware supports CPU Frequency Scaling:

root@harrison:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies 
1800000 1200000 

My T30 can do 1.8GHz or 1.2GHz.

Set the CPU speed from the command line:

root@harrison:~# cpufreq-selector -f 1800000

This option give maximum performance, but uses more power.

gnome applet

If you want to control the CPU speed from a user account:

root@harrison:~# dpkg-reconfigure gnome-applets

and follow the menus to set the setuid bit for the application.

Add the CPU Frequency Monitor applet to to your toolbar in gnome.

It will look like this:
Image:20070718-010-gnome-frequency-monitor.png
The default profile is "on demand", which is a good choice for most situations.

tips

The gnome applet doesn't work if your are connecting into your machine from another using NX.

In some distributions, such as Fedora, you may have to set the suid bit on the cpufreq-selector command:

[root@arthur sbin]# chmod +s /usr/sbin/cpufreq-selector

open questions

How do you underclock a desktop machine to conserve power?

see also

Linux Journal, August 2007, p12
http://ubuntu.wordpress.com/2005/11/04/enabling-cpu-frequency-scaling/

parent: Linux

Personal tools