5

The default MacBook Pro sleep setting maintains the current session on the RAM and thus requires a small power. There is a sudo command in the terminal that can alter this method by sending the session data to the hard drive and reducing the power drain in "deep sleep" mode.

This command is: sudo pmset -a hibernatemode 25

You can switch back to the regular sleep with the command: sudo pmset -a hibernatemode 3

What I'm wondering is what happens if you use different integers between 3 and 25. On hibernate mode, the wakeup is extremely clunky (compared to normal sleep) and takes about 20 seconds. Now, I realize that this is due to having to pull the session from the hard drive so an intermediate number wouldn't necessarily be any different.

I could just try to plug some random numbers into the terminal, but am afraid that I may choose a setting which screws something up.

Has anyone heard of alternate numbers which work?

1 Answer 1

9

Check the man page

You can mess things up - stick with 0, 3, or 25.

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.

 ____ ___1 (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.

 ____ __1_ (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.

 ____ 1___ (bit 3) encourages the dynamic pager to page out inactive pages prior to hibernation, for a
 smaller memory footprint.

 ___1 ____ (bit 4) encourages the dynamic pager to page out more aggressively prior to hibernation, for
 a smaller memory footprint.

 We do not recommend modifying hibernation settings. Any changes you make are not supported. If you
 choose to do so anyway, we recommend using one of these three settings. For your sake and mine, please
 don't use anything other 0, 3, or 25.

 hibernatemode = 0 (binary 0000) by default on supported desktops. The system will not back memory up to
 persistent storage. The system must wake from the contents of memory; the system will lose context on
 power loss. This is, historically, plain old sleep.

 hibernatemode = 3 (binary 0011) by default on supported portables. The system will store a copy of mem-ory memory
 ory to persistent storage (the disk), and will power memory during sleep. The system will wake from
 memory, unless a power loss forces it to restore from disk image.

 hibernatemode = 25 (binary 0001 1001) is only settable via pmset. The system will store a copy of mem-ory memory
 ory to persistent storage (the disk), and will remove power to memory. The system will restore from
 disk image. If you want "hibernation" - slower sleeps, slower wakes, and better battery life, you
 should use this setting.

 Please note that hibernatefile may only point to a file located on the root volume.
1
  • Thank you much! I'm glad I didn't try random values... haha
    – VictorKilo
    Aug 12, 2012 at 21:31

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .