Section: Program Options (8)
Updated: January 09, 2005
Index Return to Main Contents


cpuspeed - user-space cpu frequency scaling program, v1.2.1  


cpuspeed [Options]  


cpuspeed v1.2.1

This program monitors the system's idle percentage and reduces or raises the CPUs' clock speeds and voltages accordingly to minimize power consumption when idle and maximize performance when needed. This is the default.

The program may also optionally be configured to reduce the CPUs' clock speeds if the temperature gets too high, NOT minimize their speeds if the computer's AC adapter is disconnected or maximize their speeds when the AC adapter is connected.

By default this program will manage every CPU found in the system.

Tells the process to daemonize itself (run in background).
-i <interval>
Sets the interval between idle percentage tests and possible speed changes in tenths of a second (default is 20).
-p <fast up> <threshold>
Sets the CPU idle percentage thresholds.
<fast up> is the idle
percentage below which a CPU will be set to the highest possible speed. <threshold> is the idle percentage above which a CPU's speed will be decreased and below which a CPU's speed will be increased (defaults are 10 and 25).
-m <minimum speed>
Sets the minimum speed in KHz below which a CPU will not be set.
-M <maximum speed>
Sets the maximum speed in KHz above which a CPU will not be set.
-t <temp file> <maxtemp>
Sets the ACPI temperature file and the temperature at which CPUs will be set to minimum speed.
-T <interval>
Sets the interval at which the temperature will be polled in tenths of a second (default is 10). (Requires the '-t' option above.)
-a <AC file>
Sets the ACPI AC adapter state file and tells the program to set the CPUs to minimum speed when the AC adapter is disconnected. (This is the default but is changeable by the '-D' option below).
-A <interval>
Sets the interval at which the AC adapter state will be polled in tenths of a second (default is 50). (Requires the '-a' option above.)
Run at maximum speed when AC adapter is connected. (Requires the '-a' option above.)
Do NOT force minimum speed when AC adapter is disconnected. (Requires the '-a' option above.)
Restores previous speed on program exit.
-s <CPU>
Manage only a single CPU.
<CPU> specifies the number of the CPU
to manage and is in the range 0 to (n-1) where 'n' is the number of CPUs in the system. Without this option the program creates copies of itself to manage every CPU in the system.
To have a CPU stay at the highest clock speed to maximize performance send the process controlling that CPU the SIGUSR1 signal.
To have a CPU stay at the lowest clock speed to maximize battery life send the process controlling that CPU the SIGUSR2 signal.
To resume having a CPU's clock speed dynamically scaled send the process controlling that CPU the SIGHUP signal.


Many modern Linux systems support in-kernel cpu frequency scaling. The cpuspeed daemon only works in conjunction with the 'userspace' frequency scaling governor. Other governors, such as 'ondemand' and 'conservative', rely on the Linux kernel to adjust cpu frequencies on the fly without the need of any user-space assistance, such as that provided by cpuspeed.

Red Hat and Fedora distributions employ a unified configuration file for both scenarios, as well as a cpuspeed init script that will configure either cpuspeed or in-kernel cpu frequency scaling, as appropriate.  


/etc/sysconfig/cpuspeed, configuration file
/etc/init.d/cpuspeed, initialzation script
/usr/sbin/cpuspeed, cpuspeed program


The CPUSpeed web page:


CPUSpeed is released under the GNU General Public License version 2 (or if you wish any later version). This license allows you to use, copy, distribute and modify the software with very few restrictions. The full text of the license may be found here:


CPUSpeed daemon, original init script and configuration file:
Carl Thompson - cet [at] carlthompson.net
    (copyright 2002 - 2005)
Modernized init script, configuration file and man page:
Dave Jones - davej [at] redhat.com Michal Jaegermann - michal [at] harddata.com Jarod Wilson - jwilson [at] redhat.com




linux.jgfs.net manual pages