macOS & Mac Guides
macOS WindowServer High CPU & Overnight Sleep Drain on Apple Silicon MacBooks
When an M-series MacBook loses 10% to 18% overnight with the lid closed, WindowServer or background TCP keep-alive assertions usually prevent deep sleep (hibernatemode / standby). Running two quick read-only Terminal diagnostics reveals the culprit within seconds.
Inspect Active Sleep Blockers in Terminal
pmset -g assertions
pmset -g log | grep -i "Wake reason" | tail -n 15
| Assertion Name | Typical Trigger | Clean Resolution |
|---|---|---|
PreventUserIdleSystemSleep |
External USB-C hub keeping DisplayPort awake | Disconnect hub during lid-closed travel or disable Wake for Network Access |
DarkWake from Deep Idle |
Scheduled Power Nap / Find My sync ping | Set Power Nap to charger-only in System Settings → Battery |
Still running into this issue on your iPhone or Mac?
Ask in Community Forum →
Share your OS version, device model, and exact error code in our independent peer Q&A rooms.