So what is it with Macs taking so long to wake up?

I have been on Windows for decades and one of the things that sometimes annoyed me was that my PC would wake up so easily from hibernation mode when I would accidentally move the mouse by a few millimeters.

On my new Mac mini M1, things seem to be the other way around: it takes a felt eternity until I see the login screen. In figures, that eternity is at least 45 seconds (it took me a while to start the stopwatch on my phone after I moved the mouse and pressed keys, so I’d say that it takes almost a minute from sleep to login. And it is unclear to me what it actually takes to trigger the wake-up process. Moving the mouse alone doesn’t seem to do the trick (though I’ve never been patient enough to actually wait a minute without pressing a key). And pressing a single key doesn’t seem to suffice either. I attribute that to the first key press initiating the bluetooth connection. But I’m not sure if two keypresses do the job either.

So before I start complaining about this: could someone clarify to me what the expected behaviour is and/or how your wake-up process goes. Am I missing something or is this what I should expect on Mac.

I already learned that MacOS doesn’t provide any way to prevent the computer from going to sleep and I’m baffled by this and I can live with it, but I’d expect that the wake-up process would be smooth.

Some context

my Mac mini is connected to two displays, both via HDMI, one HD and one 4K. The 4K is new but the HD display is the one I also used with my Windows PC, so I know that it is very fast to wake up once it get’s a signal. So I’m pretty sure that the mini is not sending anything until I see something.

The first thing I usually see is either a mouse pointer or a beach ball. But it also takes a while until even that happens. Haven’t measured it but I’d say at least 10-15 seconds.

And when the full screen finally appears it often shows a “Cancel” button at the bottom, and I’m not sure what it refers to. And at times the dock starts off sitting a third of the screen up, instead of at the bottom, as if the Mac is struggling to find where various elements should be placed on the screen.

Also, there seems to be different kinds of sleep (light sleep and deep sleep, I guess). Waking up from light sleep is much faster, but far from smooth. I tried to speed up the startup in the morning, by automatically powering on the Mac an hour or so before I usually start working, but when I get into the (home-)office the screens are nevertheless black and the wake-up process takes the usual minute or so. So it seems to go from light to deep sleep pretty fast.

Anyway: the purpose of this topic is twofold:

  1. I’d like to understand how Mac (specifically Mac minis) are supposed to work (and
    how that makes sense)
  2. I’d lie to know what is the best way of starting your Mac up fast.

That’s definitely not expected behavior. My M1 mini wakes up almost instantly.

Could you describe the steps you’re taking to put your Mac to sleep each night? (From your description it sounds like you might be powering it all the way off rather than simply putting it to sleep or logging out.)

It is scheduled to go to sleep at 0:30 every night. I never use the power button to turn it off (cause I’m not sure what it does). Sometimes I send it to sleep via the “Sleep” option in the Apple menu.

You might want to post a screenshot of your Energy settings in system preferences so we can see how you have it configured. My preference is to never sleep when on power (MacBook Air). I run in clamshell mode and have the display set to go dark after 30 minutes. I have backup processes that run in the wee hours of the night.

I’m also confused by this:

I tried to speed up the startup in the morning, by automatically powering on the Mac an hour or so before I usually start working

If the Mac is just asleep it doesn’t need to be powered on.

I think we could do with some more info, so screenshots (or photos) of the first screen, your power settings etc. A screenshot might help us see what it has woken up from.

Expected behaviour is it starts up really fast from sleep, so the computer is way faster than the monitor.

Your behaviour is more like you are shutting it down, not letting it sleep.

3 Likes

In sleep mode, the M1 doesn’t power off at all, it runs in low power mode like an iPhone. That’s how it starts instantly. It looks like you’re shutting down as the previous poster suggested.

Okay, thanks for all your replies so far. I didn’t go into the details of my settings because I suspected that what I’m seeing is probably normal on MacOS (quite a few things on MacOS look “broken” from a Windows perspective but turn out to be expected behaviour and you just have to get used to things working a bit differently). But since this wakeup-issue appears to be beyond normal, I’ll share my settings here:

image

image

In case it matters: the screensaver is set to start after 20 minutes.

This morning, I actually remembered to start the stopwatch before trying to wake the computer and so I have somewhat more accurate figures:

  • mouse-pointer/beachball appeared at about 5 seconds (this is definitely faster than at other times. Presumably the computer was indeed already awake, according to schedule and only needed to activate the display)
  • Next thing that appeared were the notifications on the top right (only the notifications on otherwise black screen). I have seen this kind of inconsistent rendering on Windows on rare occasions, but thought that MacOS would be better at this)
  • The login screen was ready after 30 seconds. (This was faster than what I measured last night, but if I’m right in assuming that the computer was already awake with only displays turned off, I’d say this is extremely long.)

So what is making it difficult for me to properly observe (and report) the computers behaviour is that I don’t even understand what kind of energy saving states the thing can be in. The following are evident from the MacOS UI:

  • Shut down (i.e. turned off)
  • Sleep
  • Display off (but awake)

But it seems clear to me that there is at least one more sleep state (call it “deep sleep” or “light sleep” depending on what ordinary “sleep” means), but I have no idea when a supposed deep sleep would start. The UI doesn’t even tell me when Sleep will start if I uncheck “Prevent computer from sleeping automatically when the display is off”. My guess would be that sleep would start immediately when the display does off, but it doesn’t say so. (And the really confusing thing is that you’d think that checking this option will prevent the computer from sleeping altogether, but this is not the case, as I was able to find out with some googling.)

don’t see anything funny in your energy settings, but what you describe sounds more like the kind of time that would be required to restart after a power failure or kernel panic, rather than waking from any sort of sleep. Any chance your mac is plugged into a plug that loses power each night? (A smart-switch or something?)

Maybe trying resetting your power settings to the default to eliminate them as a potential cause?

Although it is a mammoth file system.log (viewable in the Console app) will show all sleeps, wakes, and unfortunately virtually everything else your computer is doing.

From reading this thread it sure sounds like your Mac is shutting down completely at night, not just sleeping. And there should be no reason start it up an hour before you wake in the morning. My Mac is never shut down unnecessarily, sleeps when it wants to, and wakes in about a second, and it is an Intel Mac, not the instant start of the M1 Macs.

Just let it do it’s own thing and don’t shut anything down. I’ve got a mini here I use as a server and it’s been up now for 243 days. My iMac only gets shut down when doing system software updates.

So today I wanted to measure the time it takes for the Mac to turn on before the scheduled wake-up time and so I pressed a key just after 7 o’clock and … after 10 seconds the login screen was here. :thinking:

So I checked the system.log (thanks for the suggestion!) to see if it went to sleep at all. As you saw above, it is set to sleep at 0:30 every day. Here is the log around that time:

Mar  9 00:26:57 Christophs-Mac-mini com.apple.xpc.launchd[1] (com.apple.mdworker.shared.0E000000-0300-0000-0000-000000000000[2832]): Service exited due to SIGKILL | sent by mds[101]
Mar  9 00:45:00 Christophs-Mac-mini syslogd[71]: ASL Sender Statistics
Mar  9 00:45:00 Christophs-Mac-mini syncdefaultsd[2839]: objc[2839]: Class SYDClient is implemented in both /System/Library/PrivateFrameworks/SyncedDefaults.framework/Versions/A/SyncedDefaults and /System/Library/PrivateFrameworks/SyncedDefaults.framework/Support/syncdefaultsd. One of the two will be used. Which one is undefined.
Mar  9 00:45:00 Christophs-Mac-mini syncdefaultsd[2839]: objc[2839]: Class SYDJournal is implemented in both /System/Library/PrivateFrameworks/SyncedDefaults.framework/Versions/A/SyncedDefaults and /System/Library/PrivateFrameworks/SyncedDefaults.framework/Support/syncdefaultsd. One of the two will be used. Which one is undefined.
Mar  9 00:45:00 Christophs-Mac-mini com.apple.xpc.launchd[1] (com.apple.mdworker.shared.0C000000-0100-0000-0000-000000000000[2828]): Service exited due to SIGKILL | sent by mds[101]

Not sure what that means. Does it mean it didn’t go to sleep or that it just doesn’t log going to sleep? My assumption is that the it wouldn’t log anything while sleeping and since the log is full with stuff the whole night (mostly the kinds of SIGKILL messages like at 00:26:57), I guess it did not go to sleep and hence it “woke up” so quickly.

Here are is what was logged when I pressed a key at 7:10

Mar  9 06:55:16 Christophs-Mac-mini Microsoft Edge Helper[691]: Libnotify: notify_register_coalesced_registration failed with code 9 on line 2835
Mar  9 06:55:22 Christophs-Mac-mini com.apple.xpc.launchd[1] (com.apple.mdworker.shared.09000000-0400-0000-0000-000000000000[5913]): Service exited due to SIGKILL | sent by mds[101]
Mar  9 07:10:03 Christophs-Mac-mini syslogd[71]: ASL Sender Statistics
Mar  9 07:10:04 Christophs-Mac-mini com.apple.xpc.launchd[1] (com.apple.mdworker.shared.0E000000-0400-0000-0000-000000000000[5924]): Service exited due to SIGKILL | sent by mds[101]
Mar  9 07:10:05 Christophs-Mac-mini com.apple.xpc.launchd[1] (com.apple.mdworker.shared.04000000-0400-0000-0000-000000000000[5922]): Service exited due to SIGKILL | sent by mds[101]
Mar  9 07:10:05 Christophs-Mac-mini com.apple.xpc.launchd[1] (com.apple.mdworker.shared.05000000-0400-0000-0000-000000000000[5923]): Service exited due to SIGKILL | sent by mds[101]
Mar  9 07:10:06 Christophs-Mac-mini Teams[528]: getattrlist failed for /System/Library/Frameworks/OpenGL.framework/Resources//GLRendererFloat.bundle/GLRendererFloat: #2: No such file or directory
Mar  9 07:10:06 Christophs-Mac-mini Obsidian[532]: getattrlist failed for /System/Library/Frameworks/OpenGL.framework/Resources//GLRendererFloat.bundle/GLRendererFloat: #2: No such file or directory
Mar  9 07:10:06 Christophs-Mac-mini Loom[778]: getattrlist failed for /System/Library/Frameworks/OpenGL.framework/Resources//GLRendererFloat.bundle/GLRendererFloat: #2: No such file or directory
Mar  9 07:10:06 Christophs-Mac-mini com.apple.xpc.launchd[1]: Coalition Cache Evicted: app<application.com.apple.ActivityMonitor.1152921500311961303.1152921500311961308(501)> [551]
Mar  9 07:10:06 Christophs-Mac-mini Microsoft Edge[505]: getattrlist failed for /System/Library/Frameworks/OpenGL.framework/Resources//GLRendererFloat.bundle/GLRendererFloat: #2: No such file or directory
Mar  9 07:10:07 Christophs-Mac-mini efilogin-helper[5936]: objc[5936]: Class EFILWLogging is implemented in both /System/Library/PrivateFrameworks/EFILogin.framework/Versions/A/EFILogin and /System/Library/PrivateFrameworks/EFILogin.framework/Versions/A/Resources/efilogin-helper. One of the two will be used. Which one is undefined.
Mar  9 07:10:09 Christophs-Mac-mini efilogin-helper[5936]: objc[5936]: Class EFILWLogging is implemented in both ?? (0x209134c20) and /System/Library/PrivateFrameworks/EFILogin.framework/Versions/A/Resources/EFIResourceBuilder.bundle/Contents/MacOS/EFIResourceBuilder (0x100146b58). One of the two will be used. Which one is undefined.

From what I understand, this is just various apps trying to use OpenGL for rendering but OpenGL is not supported on M1 macs, so it fails. Don’t believe this is a problem. So the main point here seems to be that my keypress just initiated graphics rendering, nothing else, so it wasn’t asleep.

I tried to look at yesterday’s logs (where wake up was much slower), but couldn’t find it on the console. Apparently it only shows the current day’s logs starting at midnight. :roll_eyes:

I think, however, that the main reason for the difference between yesterday and today is that I had a system crash last night, so the system rebooted, which probably changed which processor were or were not running. I’m not sure, though, whether it fixed or broke something, because although I’m happy about the fast wake-up, it’s clearly not doing what it’s supposed to do. It looks more like the wake-up problem being solved by something breaking the going-to-sleep routine…

That is a good point. It is indeed connected to a smart socket (showing me that I’m saving significant amounts of electricity every day, compared to my Windows machine, it’s insane how little energy the M1 needs!) but it does log on and off events and there are none. Also, wouldn’t I notice upon login that the system has rebooted? I have learned that MacOS is good at reopening all the apps that were open when the system was shut down, but it does not seem to arrange the windows the same way so that you know there was a reboot, right? In that case, we can rule out the smart socket as a source of error because all my windows were exactly where they were the evening before.

Well, I get the idea, but there are still some settings on MacOS, so I cannot let it do it’s thing there. Whatever I choose there is “my thing”. But I assume you’re also suggesting I should just let everything on default settings?

Well, I was going to do that from the start (throwing myself into the Apple world as I was) but was triggered to look at power saving settings precisely for the reasons I’m describing here: the thing kept going to sleep (or whatever it was doing when the screen turned black) and it took way too long to wake up again, so I started to extend the time for the screen to go off and to tell it not to sleep when screen goes off.

My wanting to be in control and understand is the reason I’ve been on Windows for so long and never even considered switching. But I’m realising something here: in the Apple world, the idea is not necessarily that the user doesn’t want to be in control (who doesn’t?) but that the OS is designed to prevent even the urge of being in control from arising (e.g. by guessing what the user wants and doing it or by nudging the user into wanting as the OS wants), I get the idea. The problem seems to be that when that approach fails, there is hardly anything the user can do, at least on the GUI, because so many settings have been removed/hidden away and it just does its own thing without even telling you what it’s doing. It will take me some time to get used to that.

Using “Terminal” app:

pmset -g log|grep -e " Sleep " -e " Wake "

will show only sleep and wake events. Probably some other keywords could put in power off/on events, but I don’t know what they are.

Excellent! Thanks for that. So here is the output from that command for the relevant times.

Around 0:30 when it was scheduled to sleep:

|2021-03-09 00:27:07 +0100 Sleep               |Entering Sleep state due to 'Sleep Service Back to Sleep':TCPKeepAlive=active Using AC (Charge:0%) 1074 secs |
|---|---|
|2021-03-09 00:27:07 +0100 Wake Requests       |[process=mDNSResponder request=Maintenance deltaSecs=7200 wakeAt=2021-03-09 02:27:07 info=upkeep wake] [process=dasd request=SleepService deltaSecs=1130 wakeAt=2021-03-09 00:45:57 info=com.apple.dasd:501:com.apple.ical.sync.x-coredata://111769E4-6D0B-4398-846C-BB5F431BD603/ExchangePrincipal/p25] [*process=dasd request=TimerPlugin deltaSecs=1072 wakeAt=2021-03-09 00:44:59 info=com.apple.dasd:501:com.apple.mediaanalysisd.photosanalysis] [process=powerd request=UserWake deltaSecs=25373 wakeAt=2021-03-09 07:30:00]           |
|2021-03-09 00:45:01 +0100 Kernel Client Acks  |Delays to Sleep notifications: [AppleT8103TypeCPhy driver is slow(msg: SetState to 0)(50 ms)] [AppleT8103TypeCPhy driver is slow(msg: SetState to 0)(53 ms)] [AppleBCMWLANCore driver is slow(msg: WillChangeState to 0)(263 ms)] [en0 driver is slow(msg: WillChangeState to 0)(377 ms)] |

It didn’t even try to sleep at 0:30. But apparently it had been trying to do so for the past half hour (those “sleep” messages followed by a “wake request” are all over the place). It makes no sense to me.

And around 7:10, when I supposedly woke it up:

|2021-03-09 06:55:25 +0100 Sleep               |Entering Sleep state due to 'Maintenance Sleep':TCPKeepAlive=active Using AC (Charge:0%) 879 secs  |
|---|---|
|2021-03-09 06:55:25 +0100 Wake Requests       |[process=mDNSResponder request=Maintenance deltaSecs=7200 wakeAt=2021-03-09 08:55:25 info=upkeep wake] [process=dasd request=SleepService deltaSecs=1066 wakeAt=2021-03-09 07:13:11 info=com.apple.dasd:501:com.apple.ical.sync.x-coredata://111769E4-6D0B-4398-846C-BB5F431BD603/ExchangePrincipal/p25] [*process=dasd request=TimerPlugin deltaSecs=961 wakeAt=2021-03-09 07:11:26 info=com.apple.dasd:501:com.apple.Safari.SafeBrowsing.BrowsingDatabases.Update] [process=powerd request=UserWake deltaSecs=2075 wakeAt=2021-03-09 07:30:00]           |
|2021-03-09 07:10:04 +0100 Wake                |Wake from Deep Idle [CDNVA] : due to SMC.OutboxNotEmpty smc.70070000 wifibt bluetooth-pcie/HID Activity Using AC (Charge:0%)           |
|2021-03-09 07:10:04 +0100 Kernel Client Acks  |Delays to Sleep notifications: [AppleT8103TypeCPhy driver is slow(msg: SetState to 0)(50 ms)] [AppleT8103TypeCPhy driver is slow(msg: SetState to 0)(53 ms)] [AppleBCMWLANCore driver is slow(msg: WillChangeState to 0)(263 ms)] [en0 driver is slow(msg: WillChangeState to 0)(377 ms)] |

So that sleep wake thing has been going on all night and I guess that means that it didn’t go to sleep. But why?

The computer will wake automatically, briefly, for various system events. This is why I said not to worry about it and just let it do its thing.

1 Like

Putting hard disks to sleep can cause delayed startup times from sleep because the OS needs to wait for any connected drives to spin up before revealing these in Finder. That process may cause some hitching. Disable that setting, put the machine to sleep and wake with a key press and see how it works.

Another possible contributor is the HDMI connection. I haven’t used a desktop Mac in over a decade but I do know that even with my M1 MacBook Air the display takes much longer (5 s longer at least) than the laptop display to power on and show the desktop. DisplayPort connections are much faster because there’s no HDCP handshake on every boot but more expensive.

Regardless, modern SSD based Macs do not normally take minutes to wake from sleep. The longest I’ve seen an M1 machine take is 5-7s for reasons outlined above. Any longer and I would wonder if you’re accidentally powering down before leaving the machine each night. Also consider taking away the scheduled sleep and just letting it sleep the display after a few minutes of inactivity. That setting won’t engage during video playback so shouldn’t interrupt anything. I’ve never had a scheduled sleep time and the machine is always in sleep mode when I expect it to be. If you really want to do something when you’re done you can set a hot corner to activate sleep or display sleep so you don’t need to hunt for the sleep menu option each time.

Regarding activity during sleep - Macs have a “PowerNap” feature where the OS will activate certain processes to access the network and update system and other registered app data (notifications) so it’s ready upon wake. This doesn’t affect the sleep function and is really brief.

1 Like

“when that approach fails, there is hardly anything the user can do, at least on the GUI, because so many settings have been removed/hidden away and it just does its own thing without even telling you what it’s doing. It will take me some time to get used to that.”

I am going to respectfully push back on this - there is almost nothing that is not exposed to the dedicated user in MacOS. The ways to find that information are different but no less obtuse than Windows (I use both platforms and find them both equally obtuse for niche troubleshooting). It definitely is different but not in function just in form.

Having said that, your statement very much applies to iOS.

1 Like

I turned it off and there is no difference. Which is not surprising, since I don’t have any spinning hard drives attached. But that was a good point anyway. However, is the delay caused by those drives is about revealing them in the finder, then I’m not sure it would have an effect on showing the login screen…

But it wouldn’t account for any more than maybe 1-2 seconds, no? I have been paying closer attention to the wake-up process since I started this topic and the mouse pointer usually appears within 5-10 seconds. So, at that point the handshake is long completed, right?

I also noticed that the main monitor (the one connected to the Mac’s HDMI port, always wakes up much faster than the second one (connected to one of the USB-C ports via a HDMI adapter). The background lights on the second one turn on a bit after the mouse pointer is already shown on the first one.

Both my monitors have display port inputs, so I could try that. I guess I need a USB-C to DisplayPort adapter for the second monitor. But does it make any sense to use an HDMI to DP adapter?

So what exactly takes 5-7s? If it’s the mouse pointer appearing on a black screen, then I suppose I’m good. But if it’s the entire login screen that is supposed to show, then I’m way off. It usually takes 30-40 seconds for me. And, remember, that is at times when the thing is already supposed to be awake… And when “it takes” 5-7 s was the computer asleep or already awake?

Actually the last few days, I woke it up manually before 7:30. So it wasn’t supposed to be awake then. But there was no difference to when I started using it after 7:30. I’m putting the automatic wake up earlier now, to make sure it is already awake when I start. But I suspect that it is simply not waking up. Shouldn’t the screen be on when it’s awake? If so, I can definitely say that the scheduled wake-up is not working. Perhaps I should contact Apple support about this?

I am no fanboy of any operating system, so “push back” is very welcome any time. My aim is to understand why things are they way they are on MacOS and I’m doing that as someone coming from Windows. But to convince me, your push back would have to include some evidence (and note that I wrote “GUI”, not “UI”). If we stick to the energy saving settings, where would I find all those settings?
How do you, for example, tell it not to go to sleep at all (I understand that someone had to create an app to accomplish that), set the time until it goes to sleep (alternatively: set the time between turning monitors off and going to sleep), schedule a different wake-up time during the weekend than on weekdays, schedule the time between light sleep and deep sleep (if these exist), or turn off that power napping feature that you mentioned (i.e. make sure it sleeps for real)?

BTW: when you highlight text in someone’s post, you will get a little button saying “quote”. If you click that, the highlighted text will be quoted in the post you’re composing.

That used to be possible in the Energy Saver preference pane. But at least on my MBP it has been removed in favor of a (much less useful) Battery prefpane.

More and more Apple is trying to make appliances of their computers. Would be fine if everything worked perfectly. But alas…

3 Likes

If it’s taking 40 seconds to show the login screen there might be something wrong with the hardware. I don’t think I’ve ever seen that happen with any recent Mac that was already booted up. 7s includes screen on and logging in and for me seems to be driven by the display and Bluetooth accessories pairing. Since your mouse cursor is appearing it’s not the accessories or the monitor, probably. I wonder if the GPU is struggling to render the monitors at the set resolution? Of course then you’d have more stuttering in use as well. One possible step would be to try disconnecting one monitor (preferably the one on the hub) and see if the login process is faster. Hubs do take longer than integrated converter cables to pass video signal initially.

Regardless, I would recommend getting it in to Apple or an authorized service provider to see if there is some faulty connection somewhere.

As far as the interface customizability I agree that the GUI has been neutered somewhat recently. Apple doesn’t retain 6 layers of old OS pref panes behind the latest one, so there isn’t a GUI alternative to some classic options but afaik almost every option can still be activated by CLI commands in terminal. Not what you meant, obviously, so I understand your frustration.

Sleep is an interesting example because you can actually duplicate a lot of functionality using key commands and hot corners. For example, on my machine I have top left configured to put the display to sleep and the machine’s energy saver prefs put the computer to sleep after varying amounts of time depending on if it’s plugged in or not. As far as scheduling these events you could use some of our favorite tools like Keyboard maestro or even Automator (built in) to send time sensitive commands to the system. More fiddly than a menu option but definitely possible.

As an aside, I don’t think Mac has a “hibernate” mode.

Macs don’t call it hibernate, but standby mode. Very similar to Windows hibernate

https://www.howtogeek.com/260478/how-to-choose-when-your-mac-hibernates-or-enters-standby/

1 Like