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

by on September 21, 2007 · 12 comments· LAST UPDATED December 23, 2007

in , ,

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.

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 12 comments… read them below or add one }

1 Owen December 23, 2007 at 4:35 am

The actual command needs a > symbol in it like follows: sudo echo 5 > /proc/sys/vm/laptop_mode

Reply

2 nixCraft December 23, 2007 at 8:21 am

Owen,

Thanks for the heads up.

Reply

3 Owen December 23, 2007 at 8:37 am

Your Welcome,
I’ve ran into that problem on my blog before.

Reply

4 klez March 11, 2009 at 9:17 pm

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

Reply

5 Ikem December 8, 2012 at 8:56 pm

That’s what I do:

echo “5″|sudo tee /proc/sys/vm/laptop_mode

Reply

6 Casey May 26, 2009 at 9:45 am

sudo bash -c “echo 5 > /proc/sys/vm/laptop_mode”

Reply

7 gunnar-eee August 23, 2009 at 8:50 pm

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.

Reply

8 shirish September 18, 2009 at 2:18 am

While its true its broken, its also due to merge not happening of laptop-mode-tools.

https://bugs.launchpad.net/ubuntu/+source/laptop-mode-tools/+bug/422620

Reply

9 INDY July 18, 2010 at 6:31 am

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″

Reply

10 oot der hoos October 24, 2012 at 1:58 pm

Using quotes, like “5″, failed with an error for me.
I did:
/sbin/sysctl -w vm.laptop_mode=5

Reply

11 Surendar.S October 9, 2012 at 4:50 am

sir i want answer for.. “how to improve battery life in ubuntu?”

Reply

12 handsome December 11, 2013 at 5:51 am

Ok great awesome but what does it do?

Reply

Leave a Comment

Tagged as: , , , , , , , , ,

Previous Faq:

Next Faq: