Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

My Macbook Pro will not sleep even though it is set in System Preferences → Energy Saver.

  • I do not have any sharing options enabled (System Preferences → Sharing).
  • I do not have "Wake for network access" enabled (System Preferences → Energy Saver).
  • It does not matter if the Mac is connected to a power source.
  • I've reset the SMC and the PRAM, but this did not help.

I'm running OS X 10.7.3.

share|improve this question
1  
Oddly enough, I was looking at the same problem just the other day and found this related post. It's aimed at 10.6, but contains a reasonable amount of research and helpful info –  binarybob Mar 12 '12 at 21:34
1  
@binarybob Thanks for the link! I really did not see that. Apparently the answers haven't been very sufficient when you look at the votes. I'll try a Safe Boot to see if I'm still affected then. How did you solve this problem for yourself? –  gentmatt Mar 12 '12 at 21:43
1  
@binarybob This problem does occur in Safe Mode as-well! –  gentmatt Mar 12 '12 at 21:54
    
How about bluetooth and/or a magic mouse? –  Richard Mar 12 '12 at 22:02
1  
@gentmatt I've unfortunately not found a solution either. I've sort of dodged the issue up until now by either closing the lid on my MBP, or doing a forced sleep which does work. Its just the idle sleep that doesn't :-( I did find that often it would go to sleep several minutes after the set period, say 9 mins if it was set to 5 mins, but that was far from reproducible. –  binarybob Mar 12 '12 at 22:41
show 1 more comment

3 Answers

The biggest cause of macs not entering idle state is usually disk activity.

I'd suggest that you boot into Safe Boot mode then use Activity Monitor to see if any processes are causing IO operations.

If you do see activity then try using iotop in terminal, it will give you a breakdown of Process ID (PID) and the app or process name doing the IO operations.

sudo iotop -C 5 10
share|improve this answer
    
Thanks, I will try this later this day and let you know. –  gentmatt Mar 22 '12 at 6:33
    
This time, when booting into safe mode, sleep would work fine. I believe that this should have worked the last time as well. However, I did not notice this because the sleep only occurs several minutes later than the time defined in the Energy Saver settings. I've managed to isolate the cause of the problem to the Stack Exchange Notifier App. –  gentmatt Mar 22 '12 at 10:01
add comment
up vote 4 down vote accepted

Another safe boot revealed that the auto sleep mode actually is working. I believe that it would probably have worked the last time I've tried it as well - but, since the sleep occurs several minutes later than the time defined in the Energy Saver settings, I did not notice this.

What about the 'normal' boot?

I've basically tested the auto sleep with all my menu extras enabled one by one, because the iotop command mentioned by @StuWilson didn't show anything helpful to me. As it turns out the menu extra Stack Exchange Notifier caused insomnia.

share|improve this answer
1  
Makes sense–it must be regularly polling the site looking for updates. –  jaberg Mar 22 '12 at 10:24
    
@jaberg But what about apps like Tweetdeck? It also continuously connects to various servers. –  gentmatt Mar 22 '12 at 10:25
1  
sorry re: 'iotop' did that show anything helpful? from the answer it reads as it didn't. –  Stu Wilson Mar 22 '12 at 10:30
    
I suspect, but don't know, that there is a proper way to code tasks like this that instructs the applications to lie dormant when the system is sleeping. As I think deeper, I haven't noticed (but haven't looked for) any problems with my MBA staying asleep the w/SEN menu item running and I think the system has been going to sleep on schedule, but wii have to test this later. –  jaberg Mar 22 '12 at 10:33
    
@StuWilson It did not post anything about the SEN. –  gentmatt Mar 22 '12 at 10:34
show 2 more comments

This might not be your problem, but I've had the same issue for a long time and couldn't find an answer for me, so I'll post what worked for me in case someone comes along later.

My MacBook Pro (and later, my iMac, since I used Migration Assistant) would not sleep when left idle for anything. It would sleep with the lid closed, or if I explicitly told it to, but would not sleep when left alone, as it should have per my preferences in Energy Saver.

I had already checked pmset -g assertions and turned off sharing and other wake-on-LAN settings, and nothing seemed to work. Monitoring pmset -g pslog, I found that the computer would go to sleep at the scheduled time, and wake back up a few seconds later, reporting as wake reason only whatever had been called last—even if it was the power button (that is, it said I had pressed the power button when I had not. That scared me). I had read this and a dozen other answers and forums and couldn't get anywhere.

I found a hint by checking pmset -g log which was a little more detailed than pslog. It turned out that every time the computer went to sleep, a process "cancelled" like so:

3/13/13 12:00:12 AM CDT  Sleep                  Software Sleep Sleep: Using AC                                              6492 secs 
3/13/13 12:00:12 AM CDT  Cancelled              Kernel: Response from WDDMService is to cancel state change                 

Looking up WDDMService in Activity monitor, it turned out to be a background daemon that was installed by the notorious "SmartWare" that came on a Western Digital External drive. So I killed the process, and the computer went to sleep as it should! Since I don't use the software, I removed it from launchd (which I think it called the .plist? I didn't really know what I was doing there) so it wouldn't appear again. Everything works fine now!

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.