How to make a Mac (Macbook Pro) not hibernate?

I have already set in the Energy Saver of System Preferences that

Computer sleep: on Battery Power, Never
when plugged in,  Never


so if I close the cover of the Macbook Pro running Mountain Lion, so that it sleep, then if I open up the cover within a few hours, then it wakes up right away -- which is all fine. However, if I open up the the cover and not touch it, then after some 12 or 24 hours, then it will wake up from hibernation, taking about 2.5 minutes before any password can be typed in. (update 2015: this Macbook Pro was running with a non SSD hard drive. The wake up time is a lot better if it is an SSD drive).

This is all when the Macbook Pro is plugged in (powered by the power adapter). Is there a way to make it not hibernate?

This behavior is documented by Apple at Mac computers: Progress bar appears after waking from sleep:

With the release of the OS X Mountain Lion v10.8.2 supplemental update 2.0, a new feature was introduced to enter safe sleep after four hours of the computer being connected to AC power. This is an effort to comply with the European Energy Standards (ErP Lot6). This will only occur if there is no wireless or Ethernet activity and no activity from external devices such as USB storage devices.

This is normal behavior for the following units:

• MacBook Pro (Mid 2012 and later)
• MacBook Pro (Retina, Mid 2012 and later)
• MacBook Air (Mid 2012 and later)
• iMac (Late 2012 and later)
• Mac mini (Late 2012 and later)

To disable this, turn autopoweroff in the sleep settings by running the following command in Terminal (under /Applications/Utilities):

sudo pmset -a autopoweroff 0


The -a option disables auto poweroff for the Mac while on the charger as well as on battery. Use -c (instead of -a) to disable auto poweroff only when it's plugged in.

• interesting, it is not even part of the standard System Preferences options but need a command line to do it... – nopole Oct 6 '13 at 23:24
• Thank you for this. This is just silly, you'd think this could be detected using the timezone or such instead of forcing it on everyone... Note: use "-c" instead of "-a" if you only want to change it for plugged-in. – draeath Dec 6 '14 at 3:32
• You can also leave it enabled but lengthen the delay (by default, it will hibernate after only 4 hours while plugged in). Use sudo pmset -c autopoweroffdelay NN to set the delay to NN seconds (e.g. I set mine to 43200, which is 12 hours). – peterflynn Feb 8 '16 at 21:29