Mac Windowserver Timeout: Some Ideas
Summary as of 19 Apr 2022:
So far, using the 'Amphetamine' app to never let the computer sleep by having Amphetamine move the cursor seems to work best. I have the computer / disk / screen never sleep in settings as well.
I manually sleep it via suspend to disk as outlined below.
First, I don't have a cure. But I'm trying some ideas. My system is a Mac Pro 2013 model (made in 2016) with 64GB of RAM (had 16GB but same issues), 3.67ghz 4 core, 1TB Apple SSD, and the D300 CPUs.
I upgraded from 16GB of RAM to 64GB of RAM, no change. Some reported high RAM use by some apps might have been an issue.
SMC and NVRAM resets haven't helped.
Note: live streaming and having lots of tabs and apps open might have been a factor.
Here's an idea if you still want "sleep".
I set it to '25' which will suspend to disk and take a little longet to wake. Only issue was it told me I hadn't ejected a disk properly.
Planned: Upgrade from Big Sur to Monterey. *Completed. Scroll down for Post-Monterey notes.
I turned off my second desktop in Mission Control. I have 3 monitors so I don't need that. That should reduce the load on WindowServer. It APPEARS to have cut my CPU us in half. Which makes sense kinda. One 'space' vs two even though the second one was empty.
So far, at firxt glance, this is the largest visible difference from chages I've made.
Idea: wonder if I upgraded from my quad core to a 10 or 12 core would help the issue. CPU would have more overhead.
Idea: I put the Top left output as Thunderbolt so that's the first type of Display I presume the hardware sees vs. a legacy.
Note: I noticed System Report says Auto Brightness is enabled but of course that's impossible for these displays/machine. Can't adjust in settings.
25 Feb 2022:
---I just tried these 3 in succession and rebooted---
sudo kextcache -i /
sudo kextcache -u /
sudo kextcache -system-caches
I turned off all the accessibility features in preferences. Just a thought.
I turned off all the sleep functions related to display.
I was trying to speed up Chrome Browser rendering by forcing GPU rendering but still got the issue.
Here's how to check that. I have it off now.
I was getting a lot of wakeups in the log for Google Chrome Help Renderer:
Wakeups: 45001 wakeups over the last 208 seconds (216 wakeups per second average), exceeding limit of 150 wakeups per second over 300 seconds
WindowServer was issuing something similar:
Wakeups: 45001 wakeups over the last 276 seconds (163 wakeups per second average), exceeding limit of 150 wakeups per second over 300 seconds
This was an all at once install from Mojave that was current as of 27 Feb 2022 on top of that OS.
Here's some Random info on the D300s under Monterey 12.2.1.
This is the GPU with connected displays. Slot-1 is the 'only for compute tasks' GPU. Slot 1 has VBIOS 113-C4012PA-012 but the ROM revision is the same. A slot, as it were, I suppose hence the 'A' vs. B.
Chipset Model: AMD FirePro D300
PCIe Lane Width: x16
VRAM (Total): 2 GB
Vendor: AMD (0x1002)
Device ID: 0x6810
Revision ID: 0x0000
ROM Revision: 113-C4012F-687
VBIOS Version: 113-C4012PB-012
EFI Driver Version: 01.0D.687
Automatic Graphics Switching: Supported
gMux Version: 4.0.11 [3.2.8]
Metal Family: Supported, Metal GPUFamily macOS 2
Windowserver CPU use seems down somewhere. Chrome is what sucks up a ton of it because I have tons of tabs open. Watching it now seems to have it around 21-27% but the suck part: just moving the mouse around makes it increase noticeably.