PowerTOP is a Linux tool created by Intel to identify software which causes increased power consumption even while your system is not working. By running PowerTOP and removing software which wakes your computer’s CPU from it’s idle state, you can increase the battery life of your laptop.
Install PowerTOP from the package powertop (click the link to install), or by running the command below in your terminal:
sudo apt-get install powertop
PowerTOP is a text-based application. Open a terminal and run this command to start it:
Powertop will monitor your system for five seconds to gather information before starting.
The top left section of the interface shows the different CPU states, and how long your CPU was in each one. You want your CPU to use the highest C state (sleep state) as much as possible to save energy.
The top right section of the interface shows the different frequencies that your CPU supports (P-states). Your CPU should be using the lowest frequency available while it is idle to save power.
The line highlighted red shows the wakeups-from-idle per second number. Wakeups-from-idle per second shows you how often the CPU is woken up from idle by the processes on your system. You want this to be as low as possible to conserve power.
The top causes for wakeups list is the most important part of PowerTOP, it shows which processes are preventing your system from saving power. The lines shown in bold are the ones PowerTOP thinks are the most important.
Suggestions for reducing wakeups (and therefore saving power) are shown the the bottom of the window. There should be a shortcut key to temporarily apply the suggestion shown below.
To use less power, take PowerTOP’s suggestions and analyze the top causes for wakeups list and decide if you can disable some of the software or hardware on the list.
The top causes for wakeups on my Eee PC 901 running Ubuntu are the Bluetooth radio (BT-253), sound (HDA Intel), and WiFi radio (ra0). These account for about 85% of the wakeups. Initially I was getting about 170 wakeups/sec, and about 150 wakeups/sec after applying two suggestions that PowerTOP offered for the system.
[update] Commenter vor has linked to a guide he wrote on improving battery life, which includes setting up a script which runs when the power state changes. This script can be used to more permanently implement PowerTOP’s suggestions.