Hibernation (audrith) Mac OS
The other day, I created a mixed text/video blog for the Mac911 column discussing the Safe Sleep feature on newer laptop Macs. Read the article for a more detailed description, but basically, Safe Sleep puts the contents of your machine’s RAM onto the hard drive each time you put it to sleep. In the event that your Mac loses power completely while sleeping (the battery falls out, you lose the machine for three weeks, etc.), you won’t lose any of your work. (This also means you can easily swap batteries on that long cross country flight.) Instead, your machine enters a hibernation mode, whereby it’s using no power at all. When you next connect power, Safe Sleep will read the contents of the hard drive back into RAM, letting you come right back to where you were—with open applications and documents intact.
There are some downsides to this, however. You’ll give up some hard drive space, for instance—an amount of space equal to your machine’s RAM, plus another 750MB. So on my MacBook, that’s 2.75GB of drive space, or just under 4 percent of my drive’s capacity. In addition, putting the machine into sleep mode takes notably longer. If you watch the video I created, there’s a delay of 10 or so seconds between the time the lid is closed and the power light goes from solid to its normal gentle blinking state. It’s during this time that the machine is writing the contents of RAM to the hard drive. As I noted, in theory nothing should go wrong if you decide to open the lid during this period (when you realize you forgot to print that one important document, for instance). However, there are quite a few stories of people doing just this, and winding up with a machine with a black screen, requiring a full restart to recover.
Sep 14, 2020 After some time in Sleep mode, your Mac will enter “standby.” It works like hibernation mode on Windows PCs. The Mac will save the contents of its memory to disk to save additional power, but it will take longer to resume from standby than it does to wake from sleep. Here’s how to customize when your Mac enters standby. (Redirected from Hibernate (OS feature)) Hibernation (also known as suspend to disk, or Safe Sleep on Macintosh computers) in computing is powering down a computer while retaining its state. When hibernation begins, the computer saves the contents of its random access memory (RAM) to a hard disk or other non-volatile storage.
If these downsides are too much for you, and you’d rather have the old “unsafe” sleep mode back, it’s pretty easy to do just that. It will require a quick trip into Terminal (in /Applications -> Utilities).
Check the current setup
After you launch Terminal, the first step is to determine which sleep mode your Mac is currently using (in case you wish to go back to it). You can both view and change the sleep mode using the Unix program pmset
. To see your current settings, type pmset -g grep hibernatemode
. You should see something like this:
Great, so your machine is using mode 3
, whatever that might be. Well, thanks to the documentation for the handy Deep Sleep Dashboard widget, which puts your machine immediately into hibernation mode (so you don’t have to yank all the power sources to invoke it), we can tell exactly which mode is which:
0
– Old style sleep mode, with RAM powered on while sleeping, safe sleep disabled, and super-fast wake.1
– Hibernation mode, with RAM contents written to disk, system totally shut down while “sleeping,” and slower wake up, due to reading the contents of RAM off the hard drive.3
– The default mode on machines introduced since about fall 2005. RAM is powered on while sleeping, but RAM contents are also written to disk before sleeping. In the event of total power loss, the system enters hibernation mode automatically.5
– This is the same as mode1
, but it’s for those using secure virtual memory (in System Preferences -> Security).7
– This is the same as mode3
, but it’s for those using secure virtual memory.
That will take the output of the pmset
command, strip out everything other than the hibernatemode
value, and then dump the result into a file on your desktop named current_mode.txt
. Save this file for future use.
Note: I’m being overly cautious here on purpose. The reality is that, unless you’ve messed with this setting before, your Mac will either be in mode 0
(in which case, this tip doesn’t matter, as your Mac is using old-style sleep), or mode 3
or 7
(the default for machines shipped since last fall). Saving a text file to remember a 3
or a 7
is really overdoing things, but at least you won’t be able to say you don’t remember which mode your machine was in.
Change the sleep mode setting
To change your sleep mode, you use pmset
again, providing the variable and value you wish to assign. So to return to the old style sleep mode (which is mode 0
from the above list), enter this command:
Press Return, and you’ll be asked for your password. Provide it, and your sleep mode has been changed. If you ever wish to go back to your previous setting, just repeat the above command, but replace 0
with the value from your current_mode.txt
file.
Hibernation (audrith) Mac Os X
And yes, this means you can also set your machine to always go directly into hibernation mode by running the above command with 1
at the end. I find it much simpler, though, to use the Deep Sleep widget linked above—and the widget also returns the hibernatemode
setting to its prior value, which means that you can use the widget for hibernation, and still enter normal sleep mode when you simply close the lid.
Note that restarting is not required for these changes to take effect.
Recover some drive space
If your machine was previously set to mode 3
(or 7
) and you’ve reverted to the old style sleep mode, you’ve got one more step to take: recover the drive space used up by the copy of your system’s RAM, which was created the last time you slept the machine prior to making the switch. In Terminal, enter these two commands, pressing Return after each and providing your password when asked:
If you ever return to the new style sleep mode, the sleepimage
file will be automatically recreated when you execute the sudo pmset
command—yes, it creates the file as soon as you execute the command, not the first time you put the machine to sleep.
Wrap up
Personally, I find the new sleep mode a blessing, and I’ve left my machine in that mode. If you prefer the old behavior, however, now you know exactly how to get it back. Yes, it requires a trip into Terminal land, but it’s really not that hard to do once you’re there.
The battery in my old MacBook Pro was getting pretty darn old itself. Since I was getting a new MacBook Pro soon (a new Core i7 one), replacing the battery in the current system was not something I wanted to bother with.
However, using Sleep would quickly drain my battery from 100% down to just 15% or less in just a few hours. I had to struggle with either repeatedly shutting down and powering on my system (and dealing with slow boots and long application startup times), or Sleep the system and hope there was enough battery left for me to do any work without dragging my power cord around with me.
By default, Mac OS X will Sleep (only) until the battery reaches critical level (around 5%), and then it will Hibernate.
This sucks if you had a weak battery, like I did.
If you sleep the system after charging all day, and then wake it up later to try and do some remote work - you may find your battery nearly DEAD since it had been draining pretty quickly the entire time while 'sleeping'. This makes any remote work difficult.
Part of the sleep function is writing out a hibernation file. Apple calls this 'Smart Sleep'. It is like the Windows Hybrid Sleep. If the system loses power during a sleep, it can restore from the hibernation file. All the speed and quick recovery of regular Sleep, with the insurance of a Hibernation file.
There is NO way to configure this on a Mac. Windows will let you pick Sleep, Hibernate, Hybrid Sleep, no sleep, etc. Under Mac OS X it is either 'Default Sleep Options' or 'No Sleep'. No in-between, no configuration, etc. I'm guessing this is to make the whole thing easier for people to use. Let Apple decide for you what is best.
One suggestion to force hibernation was to Sleep the Mac, then pop out the battery and put it back in. The 'sleep' status is lost, and only the hibernation file remains, allowing for a safe wake when desired, without constantly draining the battery. The past few MacBook revisions had 'non user removable' batteries, so that wouldn't be an option any more.
The current fix is to force the system to ONLY Hibernate. This means you may notice a slower 'sleep' and 'wake' process, but your battery will NOT be drained like it was with regular Sleep.
One easy 'fix' that I've used:
SmartSleep for Mac OS 10.5 and 10.6 (and maybe 10.4). I've used it under 10.6.3 on a Core 2 Duo MacBook Pro, and it worked great.
Hibernation (audrith) Mac Os Downloads
There are other Hibernation add-ons and fixes for Mac OS X, but this was the first one I tried, and it worked just fine, and worked as expected. I can now sleep/hibernate my system without draining the battery!