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

last updated in Categories , , , , ,

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


Turn on or enable Laptop mode

Type the following command as the root user:
$ sudo echo 5 > /proc/sys/vm/laptop_mode
# 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.

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.


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

  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