I've seen this question come up all over the web with no fix, so will post my solution here.
The issue is that the mac is running a newer OS than it was designed for, and thus doesn't play well with the Power Nap feature available in Mavericks and newer OS X. Non-retina macs lack the hardware to use Power Nap, but power nap isn't completely disabled as it should be on a non-retina mac.
The Power Nap feature is still operating to some extent (though logically it should not be on this older hardware). So when your mac tries to sleep, Power Nap hangs because it doesn't know what to do with your old hardware, so the system waits until the whole process times out after 15 seconds.
To disable Power Nap (or darkwake as it's called in the system internals) you'll need to simply toggle it off. But because the file you need to edit is in the System folder, you'll have to disable system-wide security first, make the edit, then re-enable security.
- 1) Reboot into recovery mode
- Turn off the computer.
- Hold the Command+R (⌘+R) keys.
- Press and release the power button.
- Release the Command+R keys once you see the Apple logo.
- 2) Disable System Security
- Open the Terminal (in Utilities Menu > Terminal).
- Type
csrutil disable
.
- 3) Reboot like normal
- 4) Get a plist file editor if you don't have one (I used
Pref Setter
)
- 5) Open the following plist file using your editor
/System/Library/CoreServices/powerd.bundle/com.apple.powerd.plist
- You may need to press Command+UP (⌘+↑) in the file chooser dialog a few times to get up to where /System lives.
- 6) Make the plist modification
- Find the row with
KeepAlive
and change its True
value to False
- Save and close
- 7) Reboot into Recovery like before
- 8) Enable System Security
- Open the Terminal (in Utilities Menu > Terminal).
- Type
csrutil enable
- 9) Reboot like normal
Now after activating sleep a few more times, it should be noticeably faster than before. I get 5-8 second sleep times.