Power management/Processor

This article describes the setup of power management for processors.

CPU frequency scaling
CPU frequency scaling is a technique whereby the frequency of a processor can be automatically adjusted "on the fly" to conserve power and to reduce the amount of heat generated by the chip.

BIOS
Some functions can be enabled or disabled in the BIOS. Check that the following are enabled:
 * "Processor C1E support"
 * "Enhanced Speedstep (EIST)"

Kernel
Activate the following kernel options:

A governor is needed, which is responsible for changing the frequency based on its profile:

Ticks
The processor saves the most energy when the processor stays longer in power savings mode, so reduce the amount of ticks that wakes the processor up.

BIOS
Some functions can be enabled or disabled in the BIOS. Check that the following are enabled:
 * "HPET"
 * "Multimedia timer"

Kernel
Activate the following kernel options:

PowerTOP
PowerTOP is a utility designed to measure, explain and minimize a computer's electrical power consumption.

When it is ran, it sorts the running processes in order of how often they cause the processor to wake up. For details on installation, configuration and usage see the separate PowerTOP article.

Hprofile
It is possible to change the active CPU governor using a simple command:

Read to learn how to execute this command on startup.

Applications such as do little more than the above but with some interface on top of it. However, having to run certain commands as root depending on the system usage is not efficient for most users. It is better to automate some of the decisions of governing CPU frequency. For instance, when not wired to AC power, most users would like to have the system in a power saving mode.

This is where Hprofile comes into play. Please refer to its article for more information and configuration.

External resources

 * What exactly is a P-state? (Pt. 1) - An Intel article (kind of) explaining P-states.
 * Linux's "Ondemand" Governor Is No Longer Fit - Explains why ondemand should not be used for newer Intel core processors.