Linux Suspend / Hibernate Functionality Support

Posted on in Categories , , , , last updated May 28, 2011

Q. Does any Linux distribution support suspend or hibernate functionality?

A. Yes, almost all modern Linux distribution supports suspend or hibernate functionality. In the Linux kernel, Hibernate or suspend-to-disk, suspend-to-ram, suspend-to-file is implemented by swsusp which is built into the 2.6 series.

Hibernate is a feature where the contents of RAM is written to the hard disk (as either a file or on a separate partition) before powering off the system. Later the system can be restored to the state it was in when hibernation was invoked, so that programs can continue executing as if nothing happened. Hibernating and restoring from hibernate is also generally faster than a hard reboot and, if necessary, can be done without user interaction.

I’ve personally tested following distributions:
+ Red Hat Enterprise Linux 5 ( desktop edition )
+ Debian Linux
+ Fedora Linux
+ Ubuntu Linux

How to suspend and hibernate a laptop under Linux

=> Click on Shutdown > Select Suspend or Hibernate as per requirement.

See also:

=> Linux Command: Put Laptop / Netbook In Hibernate / Suspend Mode

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

15 comment

  1. @fast
    I fully agree. I never experienced a problem going into hibernate or suspend. But getting back out has always been a pain. On my Ubuntu 7.10 system on my laptop, I can finally hibernate, but I still cannot suspend.

  2. I have Linux 2.4, I accidentally hit hibernate instead of shut down, and now when my computer powers up, it is stuck on the inital linux “Ultimate Edition” screen…HELP!!! How do I undo this?

    1. First:
      Press Esc key to show the boot log (what’s happening.)
      Perhaps it got a corrupted swap or filesystem. It might take a while to verify the partitions for errors. depending on size, and these days hard-drives are big, can take half an hour or more.
      Perhaps fsck is asking you for confirmation on fixing the filesystem. (~y/n questions)
      In case of a bad wake-up from hibernation the mounted filesystems can get pretty damaged. So I wouldn’t be surprised of severe data loss.

      Try your fail-safe power-on option from the boot menu.
      Boot from a live cd/dvd or from a “rescue” mode of the installation cd/dvd.
      Checkup all filesystems with fsck and badbocks.
      Purge de swap partition with mkswap.
      If any thing I wrote is not plain enough or scary :) , please refer to a friend that has good Linux experience.

  3. hi,
    I’ve a APC ups connected to my ubuntu desktop. I can power off my machine without any problem after a power cut. And then when the ac power is back it gets back in running mode. No problems.
    Now, I’ve another cluster that is connected via a local network. This cluster is powered by another big ups that does not have the capability to connect to the machine and send signal with ac power goes off. Currently, I’ve configured to shutdown the cluster from my desktop (ubuntu) before my desktop powers off after a power cut. However, once power gets back, the cluster does not get back to power because the ups giving power to it might be still up and in that case setting the boot accordingly does not help (system on after power gets back).
    What I want is, my desktop should hibernate the cluster after power cut. Once my desktop is up after power resumes, it should wake the cluster up. Nobody should be able to log in during this time. Only connection it should listen is from my desktop (a fixed ip address). I can do the hibernate part very easily (I’ve tried and it works). However, during hibernate if I try to (that means, any other user tries to) log on, the system gets back to running mode. This should be avoided and only after my desktop asks the cluster to wake up it should be up. How can I do this? Thanks in advance for any help.

Leave a Comment