Pin Me

Power Management in Linux: How to Increase Battery Runtime

written by: •edited by: Michael Dougherty•updated: 7/9/2009

The longer your battery runtime, the longer you can be away from an outlet. With Linux systems, there are a number of things you can do to increase power efficiency, from basic power use habits to software programs to BIOS and command line utilities.

  • slide 1 of 9

    As laptops become more integrated into our everyday lives, efficient power management becomes more and more important. Not only does better power management lead to longer battery life, but conserving energy is also the environmentally conscious thing to do.

    There are a few things that can be done. In addition to taking advantage of default power management settings, and perhaps installing more efficient power management software if available, there is also some power habits to consider, like the screen brightness settings or CPU usage. Here's how:

  • slide 2 of 9

    Power Habits

    Consider your computer use. Do you leave it on when you aren't using it, instead of shutting it down or putting it in hibernate? Is the LCD screen excessively bright when dimmer settings might be more appropriate? Do you have the wireless connection on more than you actually need? Can you cut down on your CPU usage? Does the fan run more often than it actually needs to in order to keep your system cool? Does your hard drive spin up more often than it needs to? Do you keep lots of tabs open in your internet browser? Do you defragment your hard drive often?

    Whew.

    Believe it or not, all of these contribute to battery runtime, and they're all easy things to take into account. Simply disable functions that you use rarely, enabling them only as needed, and close out of any programs not in immediate use. Many of these can be closely monitored with the help of software programs (later in this article), but a general awareness and power consciousness is probably the best thing you can do for your power management.

    Without further ado, power management programs in Linux systems:

  • slide 3 of 9

    Default Power Management

    There's no magic button on Linux to make it suddenly more efficient. Before you go and install new applications, use what you have. All distros come with some sort of power management software. This typically involves a cute little battery icon giving you the ability to adjust LCD screen brightness, hibernate/shutdown timers, and maybe a few other bells and whistles depending on the distro. Carefully go through what's available in your power management program to appropriately adjust it to your own minimum power needs.

    Make sure you keep your system fully updated: some updates include power-saving features.

    From here, there are two main roads to follow: frontend software programs, and BIOS and command lines utilities.

  • slide 4 of 9

    PowerTOP

    Some people want a little less terminal crunching and a little more on-the-fly usability. PowerTOP by LessWatts to the rescue! One of the most wasteful sources of CPU usage is through programs that are using it unnecessarily—programs that are idle. What PowerTOP aims to do is to identify the sources of power waste, down to the very program, and alert you to it. It's up to you from then on out to fix the issue, but PowerTOP provides a powerful starting point. Here's a program-by-program breakdown of power waste.

    Using this in tandem with your default power management software, as well as general power habits common sense, will make you almost optimally efficient. However, If you want to get a bit more technical, read on. Next we will discuss which BIOS methods and command line utilities can further increase your battery runtime.

  • slide 5 of 9
    There are a number of technical things you can do to make your computer more efficient. Using the BIOS utility APM, or its operating system-based successor ACPI, are two such things. DPMS can more efficiently manage monitor power usage. There are also the command line utilities of Xfree86, swusp, hdparm, sysklogd and lphdisk to explicitly and minutely adjust power settings.
  • slide 6 of 9

    APM versus ACPI

    APM is a BIOS program, meaning that it exists independent of the operating system. Though little development has taken place with it recently, it's still quite stable and well-supported. Essentially, it manages standby, suspend, shutdown and resume commands. Additionally it will notify the operating system of any changes to the condition of the battery and control the CPU, coming to 21 different power functions in total.

    So that you don't have to go all the way into BIOS to adjust these, usually these are adjusted by frontend programs, including many of the ones reviewed in this article. The most direct of these is a series of command line functions known as APMD, the Advanced Power Management Daemon.

    The “successor" to the BIOS version is ACPI, the Advanced Configuration and Power Interface. What this does is takes the power management functions and makes them the responsibility of the operating system. It divides the computer into seven different states of operation, in addition to other states of operations for processors and other devices, to simplify power management.

    This is in turn controlled by its command line daemon, ACPID or Advanced Configuration and Power Interface Daemon.

    These two options cannot be used at the same time—after all, they provide contradictory control over power management, APM by BIOS and ACPI by the operating system. Neither one has been found to be more efficient than the other when it comes to actual power management, so your choice is influenced more by personal taste. A single advantage of ACPI is that, more often than not, you're going to be trying out different power management programs, maybe even using different ones to control different things: managing through BIOS might just get in the way. Also, some machines cannot use APM, thus requiring ACPI.

  • slide 7 of 9

    DPMS

    DPMS, or Display Power Management Signaling, aims specifically to manage the power usage of the monitor. DPMS organizes monitor power usage into four states of operation: normal, standby, suspend, and off. Not all screens work with DPMS.

  • slide 8 of 9

    Command Line Utilities & Tricks

    Before delving into these, keep in mind that actually implementing these command line utilities can be highly technical, and if done incorrectly, can result in serious damage to your system. Additionally, some of these commands may be incompatible with your particular distro or machine, so further research will be necessary on the part of the user. Go forth with caution!

    Xfree86 is command line utility that can work with DPMS to manage the power usage of monitors.

    The swsusp command line utility aims to manage the “suspend to disk" operation.

    The command line utility hdparm, often included in Linux systems, is used to spin down and manage drives more efficiently.

    The sysklogd command can reduce unnecessary logging in your computer, which results in even more power saving.

    lphdisk is a command line utility that attempts to enable hibernation of specific partitions of the hard drive, which, if used correctly can greatly increase the power you save.

  • slide 9 of 9

    For More Power Saving

    Of course, there are innumerable little things you can do to make your laptop more efficient—and increase your battery runtime. For an outstanding guide to power saving in Linux, check out this forum post, or this detailed power management command line utility guide.