Do 'Tunables' in 'PowerTop' help on battery life?

I installed PowerTOP 1.97 and i got many Bad in Tunables, I know i can press enter to toggle but does it really change anything? and if it does will it still be changed when i reboot? If i get everything to show Good will it make a big difference on the battery life?

enter image description here


Solution 1:

The Good/Bad settings may or may not help, it really depends on the hardware. Some settings are marginal, others save a fraction of a Watt, others may actually not help at all. Here is some analysis I did late 2011. I used a high precision digital multi-meter and an Atom 450 "HPMini 210-1000" and a Sandy Bridge "Lenovo ThinkPad 220i" machine to sanity check all the powertop settings for the candidate machines.

Powertop tunables that resulted in gains

  • Autosuspend for USB device HP Webcam-50: 2.6%
  • Wireless power saving for interface wlan0: 8.5%
  • Wireless power saving for interface wlan0: 0.5%
  • Autosuspend for USB device Broadcom Bluetooth device: 6.4%
  • Enable SATA link power management for /dev/sda: 0.4%
  • Enable Audio codec power management: 0.5%
  • Runtime PM for PCI device Intel 2nd gen Core proc. DRAM controller: 1.0%
  • Runtime PM for PCI device Intel 6 series/C200 HD audio controller: 1.2%
  • Runtime PM for PCI device Intel 82579LM gigabit network connection: 0.4%
  • Runtime PM for PCI device Realtek RTL8188CE 802.11b/g/n WiFi adapter: 0.4%
  • Runtime PM for PCI device Ricoh e823: 0.4%

Powertop tunables that resulted in losses

  • Runtime PM for PCI device Intel N10/ICH 7, PCI Express port 1: 0.2%
  • Runtime PM for PCI device Intel N10/ICH 7, PCI Express port 2: 0.3%
  • Runtime PM for PCI device Intel N10/ICH 7, USB UHCI controller #2: 0.2%
  • Runtime PM for PCI device Intel N10/ICH 7, USB UHCI controller #3: 0.3%
  • Runtime PM for PCI device Intel N10/ICH 7, USB UHCI controller #4: 0.1%
  • Runtime PM for PCI device Intel 2nd gen Core proc. graphics controller: 1.5%
  • Runtime PM for PCI device Intel 6 series/C200 MEI controller #1: 0.7%
  • Runtime PM for PCI device Intel 6 series/C200 PCIe root port 1: 0.7%
  • Runtime PM for PCI device Intel 6 series/C200 PCIe root port 2: 0.6%
  • Runtime PM for PCI device Intel 6 series/C200 PCIe root port 4: 0.6%
  • Runtime PM for PCI device Intel 6 series/C200 PCIe root port 5: 0.5%
  • Runtime PM for PCI device Intel 6 series/C200 USB EHCI #1: 0.3%

source: http://kernel.ubuntu.com/~cking/power-benchmarking/powertop-good-bad-recommendations/results.txt

raw sample data: http://kernel.ubuntu.com/~cking/power-benchmarking/powertop-good-bad-recommendations/powertop-good-bad-recommendations.ods

Fluctuations in battery reading

Note that powertop tries to figure out the power consumed from the battery ACPI status. Some batteries are not that accurate since they sometimes re-calibrate their capacity settings. So one can get some wild fluctuations in battery readings. With the kind of settings you are looking at powertop may not be able to measure the savings because we could be talking about a few mW in savings on each setting.

For big savings, see https://wiki.ubuntu.com/Kernel/PowerManagement

Solution 2:

Despite this question is specifically about battery life, I am adding this as an answer because the comment space is to small. Desktop users might just want to reduce power consumption too. That is why I did four 8 hour running power consumption measurements in September 2014 at the wall socket (230VAC 50Hz) with recent Haswell hardware.

The measured Average monthly kWh* after 8 hours of running in an idle state are:

  1. None: 11.73
  2. Minimal: 8.69
  3. "Optimal": 8.36
  4. Auto-tune: 8.35

For recent hard- and software you might want to enable all powertop tunables.

Quick wins are enabling PCIe ASPM for the network interfaces, and verify that your package goes to state pc6 or lower.


The different measurements - based on groups of optimizations - are named:

  1. None, autosuspend for USB devices is enabled => pc3
  2. Minimal, enabled PCIe ASPM and SATA LPM => pc6
  3. Optimal, containing a set of optimised settings inspired by the suggestions from Colin Ian King, trying to enabled only gains and keep losses disabled:
    • Turn off NMI watchdog,
    • Enable VM writeback timeout,
    • Enable runtime PM for E3-1200 v3/4th Gen Core Processor PCIe x16 controller
    • Enable runtime PM for 4th Gen Core Processor DRAM controller
    • Enable runtime PM for Realtek RTL8111/8168/8411 PCIe gigabit controller
    • Enable wake-on-lan status for device p5p1
  4. Powertop --auto_tune, most optimal tunings according to powertop tuning.

* higher numbers mean more energy consumption and shorter battery life; Average monthly kWh = watt hours/elapsed time/30 days; watt hours equal watts multiplied by time. For instance, a 25 watt bulb plugged in for 1 hour will consume 25 watt hours. In two hours, it will have consumed 50 watt hours.

In this case an ASRock H81 Pro BTC P1.80, a Celeron G1840, two G.skill DDR3L modules, an OCZ Vertex SSD, no USB devices attached, 100mbps ethernet connected and a platinum-80plus-rated Supermicro PSU PWS-341H-1H powering it. The measurement device is a "Watts up?" meter. The room temperature as around 25-28ºC. The mainboard temperature is around 33-34ºC. The kernel is Ubuntu amd64 version 3.13.0-35-generic. Powertop is release version 2.5. Idle state means that the powertop screen "Idle stats" was shown in a remote SSH session. Between measuring each different group of settings the system was powered down and disconnected from the power source for at least 5 minutes.