OSX: Changing Hibernation mode – UPDATED

Apple hibernation has three modes. By default, on laptops it suspends the system and make a copy of RAM to disk for a completely safe hibernate. When you have 8 Gigabytes of RAM it takes twenty or thirty seconds to write that RAM image. I suspend/resume often during my day and don’t want to wait. This has worked really well for me.

You can change the Mac’s hibernate behavior using pmset; here’s the reference for it:

http://developer.apple.com/documentation/Darwin/Reference/ManPages/man1/pmset.1.html

“sudo pmset -a hibernatemode 0″ = suspend to RAM only (default on desktops)
“sudo pmset -a hibernatemode 1″ = suspend to disk only
“sudo pmset -a hibernatemode 3″ = suspend to disk + RAM (default on laptops)

To see your current hibernatemode: “pmset -g | grep hibernatemode”.

Warning

The risk is that if you hibernate and run out of battery, or the RAM glitches, you might lose anything that is not saved. Having the RAM backed up to Disk means that you will always be able to resume.

Apple Documentation

SAFE SLEEP ARGUMENTS
hibernatemode takes a bitfield argument defining SafeSleep behavior. Passing 0 disables SafeSleep alto-gether, altogether,
gether, forcing the computer into a regular sleep.

0001 (bit 0) enables hibernation; causes OS X to write memory state to hibernation image at sleep time. On wake (without bit 1 set) OS X will resume from the hibernation image. Bit 0 set (without bit 1 set) causes OS X to write memory state and immediately hibernate at sleep time.

0010 (bit 1), in conjunction with bit 0, causes OS X to maintain system state in memory and leave system power on until battery level drops below a near empty threshold (This enables quicker wakeup from memory while battery power is available). Upon nearly emptying the battery, OS X shuts off all system power and hibernates; on wake the system will resume from hibernation image, not from memory.

hibernatemode is set to 3 (binary 0011) by default on supported portables.

hibernatemode is set to 0 (binary 0000) by default on supported desktops.

UPDATE:Smartsleep PrefPane

As commented below, the SmartSleep Prefpane is probably a better way to setup your hibernation and includes a smart sleep capability. You can download it for free from http://www.jinx.de/SmartSleep.html


Caption Text.

Caption Text.(Click for a full size image)

  • Andy

    SmartSleep is pref pane that makes very easy to manage

    http://www.jinx.de/SmartSleep.html

  • http://blog.fosketts.net Stephen Foskett

    I recommend the SmartSleep prefpane as well – it automatically puts you in different modes as needed!

  • Pingback: Oops! 10.6.6! :) - Page 4()

  • rene

    check the “deepsleep” widget

  • Pingback: OSX: Changing Hibernation mode « Luis Gustavo Martins’s Blog()

  • http://www.facebook.com/people/Tyler-Thulin/686501977 Tyler Thulin

    So how do you enable bit 3 or 4 binaries to make the sleepimage dynamic in size? I have 16GB of RAM, and don’t like a 16GB empty file.

  • http://twitter.com/StorageMojo Robin Harris

    SmartSleep is no longer free. Costs $5.95 now.