How do I enable laptop mode to improve Linux laptop battery life?

Posted on in Categories , , , , , last updated December 23, 2007

Q. I’m using Redhat enterprise Linux desktop / workstation operating system with HP laptop. Several Linux distributions have a / script to enable to disable Laptop mode but Redhat misses the script. How do I enable or disable laptop mode on fly?

A. Modern Linux kernel includes very good support for Laptop mode. It is use to control the IO subsystem. When laptop mode is enabled, the Linux will try to be smart about when to do disk I/O. It gives as much time as possible to be in a low power state. If mode is disabled if value is set to zero (0). To enable mode use non zero value such as 5.

Display or print current Laptop mode

Type the following command:
$ cat /proc/sys/vm/laptop_mode
Output:

0

Turn on or enable Laptop mode

Type the following command as the root user:
$ sudo echo 5 > /proc/sys/vm/laptop_mode
OR
# echo 5 > /proc/sys/vm/laptop_mode

A note about Ubuntu Linux

According to this page:

Ubuntu has a laptop-mode-tools package, which is installed by default on laptops. However, laptop mode is disabled by default in Ubuntu Edgy (6.10), because some people have been experiencing hangups with it on certain laptops (mostly Thinkpads). Until now, nobody has any clue what is happening here. To reenable laptop mode, edit /etc/default/acpi-support and set ENABLE_LAPTOP_MODE=true.

If you want to use the latest version of laptop mode tools, you can use the Debian packages, they are compatible enough to work out-of-the-box on Ubuntu.

A note about Suse Linux

=> Suse Linux comes with powersaved tool, so please ignore above commands for power saving.

Updated for accuracy.

12 comment

  1. note that “sudo echo > root-owned-file” doesn’t work, since you echo as root but will still be writing via your shell, which is running as your regular user. I do realize it says ‘do this as root’ but it’s still a bit misleading. And if you’re already root, why sudo?

    as non-root try:
    sudo -s
    echo 5 > /proc/csys/vm/laptop_mode
    exit

  2. laptop mode is broken in Ubuntu. It keeps spinning the drive up/down at 10 second intervals, seems nobody have gotten the parameters right so it becomes usable.
    I hope it becomes sorted out. Until then its off for me.

  3. We should save changed state of value if we add vm.laptop_mode = 5 in /etc/sysctl.conf

    Anyway, true way is:

    show current value:
    # /sbin/sysctl -n vm.laptop_mode

    set value:
    # /sbin/sysctl -w vm.laptop_mode=”5″

Leave a Comment