MacOS – Retina Macbook Pro doesn’t hibernate

hibernatemacbook promacossleep-wake

I have bought a 13 Retina Macbook Pro -my first Mac, just a couple of days ago and I found something odd.

Apple claims that after an hour or so of sleep, the Mac should go to deep sleep -AKA hibernation. Well, yesterday night I closed the lid and the Mac entered sleep mode. The expected behaviour according to Apple is that when I wake up in the morning, the Mac would turn on and load the RAM image from disk back to the main memory, taking many seconds to wake up. Instead, it woke up immediately -like if it never entered hibernation.

1) Why doesn't my MBP do what Apple claim it should do when "sleeping"?

2) I'd like to have the hibernation mode active. I love that my computer turns on sooo quickly but if I'm not going to use it for many hours, I'd prefer to save battery with a (slightly slower) boot.

I already tried to change the standbydelay and the autopoweroffdelay to little numbers like 1 minute, 2 minutes, 0 minutes, 120 seconds, 60 seconds (standbydelay uses seconds, autopoweroffdelay minutes according to pmset man).

I don't have any USB connected, I turned off iCloud and Google sync.

I saw the pmset -g assertions to see if there's some daemon or app or service preventing the deep sleep. I changed the hibernatemode from 3 to 25, and back to 3.

And yes, I read the pmset man and tried virtually everything I read on the web.

The Mac keeps entering sleep but never deep sleep/hibernation.

I tested everything. I'd like to have more control (or SOME control) over when and how MY computer goes to sleep/hibernate.

Best Answer

Since you did not post your pmset -g power profile, we can't be sure if it is set right.

First, autopoweroff specifically says it does not work if on battery power. Sure, that's dumb and contrary to common sense, but that's European power laws.

The correct setting is standby:

From 10.10.5's man page:

STANDBY ARGUMENTS
standby causes kernel power management to automatically hibernate a machine after it has slept for a specified time period. This saves power while asleep. This setting defaults to ON for supported hardware. The setting standby will be visible in pmset -g if the feature is supported on this machine.

standby only works if hibernation is turned on to hibernatemode 3 or 25.

standbydelay specifies the delay, in seconds, before writing the hibernation image to disk and powering off memory for Standby.

On my Macbook Pro, for some reason, it's:

Active Profiles:
Battery Power       -1*
AC Power        -1
Currently in use:
 standbydelay         4200
 standby              0
 halfdim              1
 sms                  1
 hibernatefile        /var/vm/sleepimage
 disksleep            10
 sleep                10
 hibernatemode        3
 ttyskeepawake        1
 displaysleep         3
 acwake               0
 lidwake              1

Notice Standby is set to 0. It should be changed to 1 to turn the feature on.

pmset -a standby 1