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 them are enabled, e.g.:
 * Processor C1E support
 * Enhanced Speedstep (EIST)

Kernel
You need to activate the following kernel options:

You need a governor, who changes the frequency based on his profile:

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

BIOS
Some functions can be enabled or disabled in the BIOS. Check that them are enabled, e.g.:
 * HPET
 * Multimedia timer

Kernel
You need to activate the following kernel options:

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

Software
Install :

I used a few time -1 before and the software was pretty good at giving good advise on what power management options to set up depending on the system usage. Now, version 2 become very good in that I nearly get 10-15° less CPU temperature enabling every power management option which is almost what I can get on cold weather (~40°C) while my laptop runs almost at 50-55°C in summer (quite hot... compiling/chunking around C++ objetcs make it jump to almost 100°C! (qt-libraries, libreoffice, chromium) or simply with Wifi card on). With everything enabled, the CPU runs almost all the time (when no power hungry application is running obviously) at idle or the lowest C-state (800MHz). I could not expect better. The spot that is missing is a deamon-ish application or at least a configuration/profile file that PowerTOP will pick up at start up. Lets submit the idea to upstream.

Usage
powertop - Sorts the running processes in order how often they cause the processor to wake up.

Cpufrequtils
Install the package to get started. And do not forget to add the init service in the boot level afterwards.

And do not forget to set up the default governor that fits the machine in the configuration file.

I used and other equivalent CPU frequency utilities in the past only to remove them after a few days. The thing is... one can do just that with seting up or building the necessary modules or rather CPU governors and set up a default governor in the kernel. That should suffice for most users especially with ondemand governor.

Hprofile
When one need to change CPU governor, on can just use a simple command as the following which nullify the usage of cpufrequtils or other CPU governor and frequency utilities.

However, that kind of commands need a little automation... think if you're using a laptop and want it to be a little dynamic in power saving mode, you will surely want a power saving profile if the laptop is not wired to AC power. This is where Hprofile comes into play, follow reading in that article for more information.