Agility, Java programming, New technologies and more…
  • rss
  • Home
  • Management
  • Agile Programming
  • Technology
  • Linux
  • Event
  • Android app
  • Contact
  • About the author
  • English
  • Francais

Extend your laptop’s battery life

Fabian Piau | Sunday July 4th, 2010 - 11:25 AM
  • Print
  • Twitter
  • LinkedIn
  • Facebook
  • Pocket

 Version française disponible

To continue on the topic of my previous post, I introduce you some tips under Linux (Ubuntu & Debian distributions) and general tips to increase your laptop’s battery life.

Laptop Battery

Turn off the screen

You have to make a phone call, go through a document or… a body need. During this time, you often leave your computer on. Rather than keeping your monitor on or suspending the system (note that when the system wakes up, it consumes a great amount of energy), why not turn the screen off temporary with a single click?

For this, you just have to create a launcher (shortcut) and configure it to execute this command:

xset dpms force off

Then, it can be added to your taskbar or desktop. For daily use, you can also assign it to your own keyboard shortcut.

The acronym DPMS stands for Display Power Management Signaling. It is a command line program that allows power saving behaviour of monitors when the computer is not in use. Other options are available. You can read this post for more information.

Launcher to turn off screen


CPU Scaling

CPU Scaling is a feature built into most modern mobile CPUs that allows them to scale up or down in how fast they run (the frequency). If you have a fairly modern mobile computer there is a very good chance that your CPU can handle frequency scaling. For example, my five-year-old computer is based on an Intel Centrino CPU which supports it !

It is a pity that your processor runs at full speed if you are using a word processing or surfing the internet. Unless you are editing a movie or playing video games, this enables you to extend the use time of your laptop.

The idea is to “underclock” the processor when it is not fully stressed by your applications. A processor can save energy by running slower. Unfortunately, this will result in a slight performance degradation. So you have to find the good compromise.

Processors handle scaling differently. Various frequencies and modes are available depending on your model. To know yours, you need to install and activate the “CPU Frequency Scaling Monitor” applet.

CPU Scaling applet

Here is a short explanation for each mode:

  • “Powersave” will keep the CPU constantly at the lowest frequency. This mode is very useful to preserve the battery;
  • “Ondemand” will set the CPU at the lowest frequency until use of the CPU increases, then it will automatically set it up to the highest frequency. This is generally the default mode;
  • “Performance” simply sets the CPU at the highest available frequency. It is better to have your laptop plugged-in while using this mode;
  • “Conservative” is quite similar to the « Ondemand » mode. Your CPU will go up as needed, starting at the lowest frequency, and then setting up to the next available frequency (not the highest). It is the best compromise when you do not pay too much attention to your battery;
  • Finally, you also have the possibility of setting manually the frequency. In my case, I have four choices (0.798 GHz, 1.06 GHz, 1.33 GHz and 1.73 GHz).


GPU Scaling

The graphics card is also very energy-consuming. Following the example of the CPU, it is possible to put its chip into a low voltage mode. In my example, I use an ATI graphics card. It does seem that Nvidia provides a similar software.

We will use the command line tool “ATI Powerstate” available when you install the official driver. In the same time, we will make it more user-friendly for daily usage by adding a GUI.

First, you need to write a bash script:

#!/bin/bash

## Mode selection
    ACT=$(aticonfig --lsp | grep :  | zenity --list --title 'ATI PowerState' --width=230 --height=166 \
        --text='Select a mode :'\
        --column='Mode'\
);
        if [ '${PIPESTATUS[0]}' != '0' ]; then
            exit
        fi


## Available modes

    # Idle
        echo '$ACT' | grep '1:' >/dev/null
            if [ '$?' = 0 ] ; then
                aticonfig --set-powerstate=1 | echo message:Idle mode activated | zenity --notification --listen --window-icon='info'
            fi

    # Default
        echo '$ACT' | grep '2:' >/dev/null
            if [ '$?' = 0 ] ; then
                aticonfig --set-powerstate=2 | echo message:Normal mode activated | zenity --notification --listen --window-icon='info'
            fi

Then, we create a launcher to execute this script.

Tune up graphic chip

Ati PowerState

In my case, I have two power states available. You can have more choices depending on the model of your graphic chip. Thus, it can be necessary to modify the script. By default (whether the laptop is plugged-in or not), the graphic card will run at full speed.

After selection, a tooltip shows up to confirm you about the running mode.

Idle mode activated

Normal mode activated

Once again, you will be in a dilemma, choosing between energy saving and a decrease in performance. For example, the greatest 3D effects are a little bit jerky when I activate the idle mode.

Still and always the good practices…

Except these few tips which have required the installation and/or the use of specific software, there are no secrets to preserve the energy of your battery ! There are still the good practices, the ones that have always been known to work on any computer and under any operating system. Here is a non-exhaustive list:

  • Disconnect your external devices when you do not use them: hard drive, USB stick, mouse, webcam or any USB powered device;
  • Deactivate wireless technologies (WI-FI and Bluetooth) when you do not use it;
  • Close the applications you do not use. Multitasking stresses the CPU and storing lot of information in memory consumes energy;
  • Deactivate the extra and unnecessary 3D effects (Oh no ! My nice-looking visual effects ! I’m afraid that’s another compromise again…);
  • Decrease the screen brightness if necessary;
  • Under Windows, defragment your hard drive regularly. Of course, do not launch the defrag process while your laptop is not plugged-in;
  • Finally (with no ulterior motive), keep in mind that some available operating systems manage defragmentation and battery lifetime better than others.

With all these advices, you will certainly succeed in double your battery lifetime, and thereby extend your battery lifespan.

Categories
Linux
Tags
bash, battery, mobile computing, ubuntu
Comments rss
Comments rss

« A personal thought : mobility, energy & society Les Cast Codeurs, a french Java Podcast »

Download CarmaBlog App

RSS feeds

  • RSS feed RSS - Posts
  • RSS feed RSS - Comments

Most viewed posts

  • Changing the language in Firefox - 115,579 views
  • Using Google Forms / Drive / Docs to create an online survey - 63,166 views
  • FAQ – Online survey with Google Forms / Drive / Docs - 52,403 views
  • Customizing Gnome 3 (Shell) - 30,017 views
  • The meaning of URL, URI, URN - 17,251 views
  • Java EE & CDI vs. Spring - 15,442 views
  • Open Street Map, better map than Google Maps? - 14,648 views
  • Comparing NoSQL: Couchbase & MongoDB - 14,082 views
  • Firefox Nightly, Aurora, Beta, Desktop, Mobile, ESR & Co. - 13,087 views
  • API, REST, JSON, XML, HTTP, URI… What language do you speak? - 12,718 views

Recent Comments

  • Pauline on FAQ – Online survey with Google Forms / Drive / DocsMerci Fabian, mais le but étant que nos clients pu…
  • Fabian Piau on FAQ – Online survey with Google Forms / Drive / DocsProbablement mais ces options sont en général paya…
  • Pauline on FAQ – Online survey with Google Forms / Drive / DocsBonjour Fabian, Merci de votre retour, oui j'avais…
  • Fabian Piau on FAQ – Online survey with Google Forms / Drive / DocsBonjour Pauline, ce n'est pas possible de créer un…
  • Pauline on FAQ – Online survey with Google Forms / Drive / DocsBonjour, Je suis en train de créer un Google Forms…

Recent posts

  • How to write a blog post? At least my way! - 3 months and 2 weeks ago
  • Bot Attacks: You are not alone… - 1 year and 11 months ago
  • Flagger – Monitor your Canary deployments with Grafana - 2 years and 8 months ago
  • Flagger – Canary deployments on Kubernetes - 2 years and 10 months ago
  • Flagger – Get Started with Istio and Kubernetes - 2 years and 10 months ago
  • Expedia CoderDojo in London - 3 years and 7 months ago
  • Volunteering at Devoxx4Kids - 3 years and 10 months ago
  • A Java 11 migration successful story - 4 years and 2 months ago
  • Tips to make your WordPress website secure - 4 years and 5 months ago
  • Devoxx UK 2018 – Day 2 - 4 years and 9 months ago
  • Devoxx UK 2018 – Day 1 - 4 years and 9 months ago
  • Wise, Revolut and Monzo, a small revolution for travelers and expats - 5 years and 1 month ago
  • Autocomplete for Git - 5 years and 10 months ago
  • Swagger, the automated API documentation - 6 years and 2 weeks ago
  • Microservices architecture – Best practices - 6 years and 5 months ago
Buy me a coffee

Language

  • Français
  • English

Follow me!

Follow me on Linkedin
Follow me on Twitter
Follow me on Stackoverflow
Follow me on Github
Follow me on Rss
Link to my Contact

Email subscription

Enter your email address to receive notifications of new posts.

Tags

.net agile agility android bash best practices blog cache cloud computing conference continuous integration css developer devoxx docker eclipse extreme programming firefox flagger google helm hibernate istio java job jug kubernetes london mobile computing overview performance plugin programmer script security sharing society spring tdd test tool ubuntu windows wordpress

Links

  • Blog Ippon Technologies
  • Blog Publicis Sapient
  • Blog Zenika
  • Classpert
  • CommitStrip
  • Coursera
  • Le Touilleur Express
  • Les Cast Codeurs Podcast
  • OCTO talks !
  • The Twelve-Factor App

Categories

  • Event (15)
  • Linux (3)
  • Management (8)
  • Agile programming (29)
  • Technology (45)

Archives

  • December 2022 (1)
  • April 2021 (1)
  • June 2020 (1)
  • May 2020 (2)
  • July 2019 (1)
  • May 2019 (1)
  • December 2018 (1)
  • October 2018 (1)
  • June 2018 (1)
  • May 2018 (1)
  • January 2018 (1)
  • May 2017 (1)
  • March 2017 (1)
  • October 2016 (1)
  • April 2016 (2)
  • March 2016 (1)
  • November 2015 (1)
  • May 2015 (1)
  • February 2015 (1)
  • December 2014 (1)
  • November 2014 (1)
  • September 2014 (2)
  • August 2014 (1)
  • July 2014 (2)
  • June 2014 (1)
  • April 2014 (1)
  • March 2014 (1)
  • February 2014 (2)
  • January 2014 (1)
  • December 2013 (1)
  • November 2013 (1)
  • October 2013 (3)
  • September 2013 (5)
  • July 2013 (1)
  • June 2013 (1)
  • May 2013 (1)
  • April 2013 (1)
  • March 2013 (2)
  • February 2013 (1)
  • January 2013 (2)
  • December 2012 (2)
  • October 2012 (1)
  • September 2012 (1)
  • July 2012 (1)
  • May 2012 (1)
  • April 2012 (1)
  • March 2012 (1)
  • February 2012 (1)
  • January 2012 (2)
  • December 2011 (1)
  • November 2011 (2)
  • October 2011 (2)
  • September 2011 (1)
  • July 2011 (1)
  • June 2011 (2)
  • April 2011 (1)
  • March 2011 (1)
  • February 2011 (1)
  • January 2011 (2)
  • November 2010 (2)
  • September 2010 (1)
  • August 2010 (1)
  • July 2010 (1)
  • June 2010 (1)
  • May 2010 (1)
  • April 2010 (1)
  • March 2010 (1)
  • February 2010 (1)
  • December 2009 (1)
  • November 2009 (1)
  • October 2009 (2)
  • September 2009 (2)
  • August 2009 (3)
  • July 2009 (1)
  • June 2009 (2)
Follow me on Twitter
Follow me on Linkedin
Follow me on Stackoverflow
Follow me on Rss
Link to my Contact
Follow me on Github
 
Fabian Piau | © 2009 - 2023
All Rights Reserved | Top ↑