24th May 2012

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)

This post is copyright of Thropos Ltd ©2008-2011 at Etherealmind.com - contact | email: greg.ferro@packetpushers.net - twitter: @etherealmind | All rights reserved
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