Pros and cons of hibernating

There are two different suspent modes:

  • suspend-to-ram - usually just called suspend
  • suspend-to-disk - usually just called hibernate

Suspend-to-disk is usually relatively slow such that on some machines it is just faster to do a real boot.

Suspend-to-ram leaves the RAM powered. Depending on your hardware this may consume very little energy. On most hardware the suspend/wake-up is very fast (1 - 2 seconds) and it does not consume a lot of your battery. For example on my Thinkpad it is no problem to leave it > 10 h in suspend-to-ram.

The only disadvantage of suspend-to-disk I can think of, is that is more difficult to setup with encrypted swap partitions.

Sure, for kernel-upgrades you have to reboot a long running system - but you have to do that in any case. And technologies like ksplice are changing that for a lot of security related patches.

Regarding memory leaks - if you have a memory leak, it is most likely in some bad behaving application and then you can just restart that one application.

I supend-to-ram all the time because it is so convenient to directly restart working where you left - I just reboot for security related kernel upgrades or distribution upgrades. Thus, an 'uptime' of over 100 days on my laptop is nothing special.


Pros:

  1. Whatever you were doing prior to hibernation is still there next time you boot.

  2. Hibernation (unlike suspend) uses no power when in hibernation.

Cons:

  1. Hibernation takes longer to boot that a normal start up (but the time savings in having all of your applications running may make this worth while).

  2. The more RAM you use, the longer it takes to hibernate/restore. I used to use hibernation a lot in Jaunty and Karmic but Lucid uses quite a lot more RAM so hibernation takes a long time.

  3. For hibernation to work, you need swap space >= to the amount of RAM in the machine.


I suspend my laptop regularly (which hibernates if the battery goes too low) and rarely shut down, the only annoying thing I notice is that if you get a kernel security upgrade you need to reboot the machine to apply it, so there's a convenience/security decision to make there.

When I am at home on my private network I tend to not care and leave it, but when I am travelling on someone else's network I reboot to apply the updates.

Tags:

Hibernate