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. tweet

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. tweet

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. tweet

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

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

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)

About Greg Ferro

Greg Ferro is a Network Engineer/Architect, mostly focussed on Data Centre, Security Infrastructure, and recently Virtualization. He has over 20 years in IT, in wide range of employers working as a freelance consultant including Finance, Service Providers and Online Companies. He is CCIE#6920 and has a few ideas about the world, but not enough to really count.

He is a host on the Packet Pushers Podcast, blogger at EtherealMind.com and on Twitter @etherealmind and Google Plus

You can contact Greg via the site contact page.

  • 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.

Subscribe For Weekly Updates by Email

Get a Weekly Summary of Latest Articles and Posts to your Email Inbox Every Sunday

Thanks for signing up. Look for the email from MailChimp & make sure you confirm your email address. You may need to check your spam or gmail settings to be sure of receiving the email.

Note: You can unsubscribe at any time using the link at the bottom of every email.