Force Hibernation

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:

http://www.jinx.de/SmartSleep.html

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.

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!