WindowServer High CPU on a Mac: Why and How to Bring It Down
WindowServer taking 30–80% CPU in Activity Monitor? It's the process that draws your windows. What loads it — displays, windows, effects — and how to test each.

WindowServer is the system process that composites every window into the picture on your screen. It’s loaded by external displays at scaled resolutions, hundreds of open windows and apps that redraw nonstop; don’t quit it — remove the causes one at a time and watch its % CPU.
WindowServer doesn’t invent work — it draws what apps and displays ask for.
What WindowServer is
macOS has a window server — WindowServer. According to Apple’s documentation, it manages all windows: the ones you see on the desktop and the offscreen windows used by running apps. Every frame on screen is its work: it puts windows, panels, the Dock and the menu bar together into a single picture and sends it to the displays.
So WindowServer always uses a few percent of the CPU, and more while you’re actively working with windows. That’s normal. It’s worth looking into when it stays high while you’re doing nothing and the interface stutters: windows drag in jerks, Mission Control lags.
Apple doesn’t say what’s “normal”, and there’s no universal number: it depends on the Mac and on the number and resolution of displays. Compare with yourself — how much WindowServer takes on your Mac at a quiet moment.
How to check
Open Activity Monitor (⌘-Space, type “activity”, Return), go to the CPU tab and find WindowServer with the search field at the top right. Note its % CPU at rest — hands off the mouse, nothing scrolling. Then remove one possible cause at a time and see whether the number drops. How Activity Monitor works is in the Activity Monitor guide.
What loads WindowServer
External displays and scaling
Each display is a separate picture to put together. Scaled resolutions are especially expensive: in System Settings → Displays, macOS itself warns about them: “Using a scaled resolution may affect performance.”
To test: disconnect the external display for a minute, or set it to the Default resolution, and compare WindowServer’s % CPU.
Lots of windows and tabs
Hundreds of windows are work too, even minimized ones and ones on other desktops. Close what you don’t need, especially windows that update constantly: dashboards, video, animated pages in the browser.
Apps that redraw without stopping
Animated wallpapers, “live” menu bar icons, screen recording apps and screen sharing in video calls. Quit them one at a time and watch the percentage. The app whose exit calms WindowServer down is your cause.
Transparency and animations
System Settings → Accessibility → Display has the Reduce transparency and Reduce motion switches. Apple describes the first as replacing the transparent effect on some backgrounds with a solid background (Apple’s guide). Whether it changes the load on your Mac, the same % CPU will tell: turn it on, compare, and keep it only if things got noticeably lighter.
If nothing helped
- Restart the Mac. WindowServer starts fresh and every window opens from a clean slate.
- Update macOS. Apple fixes drawing glitches with specific displays and system versions in updates.
- Test under another user account. Create a temporary user in System Settings → Users & Groups and log in as that user. If WindowServer is calm there, the problem is your apps or their settings, not the Mac.
What not to do
- Don’t force quit WindowServer. It is your session: when it quits, every window disappears, and anything unsaved goes with it.
- Don’t install “boosters” or “cleaners”. They won’t reduce the number of windows.
If more than the interface is slow
A high WindowServer is about graphics and windows. If everything is slow and other processes are at the top, start with the step-by-step diagnosis. If kernel_task is at the top, it’s heat — see the kernel_task guide.
In the app
To be clear up front: Mac Resources doesn’t show a process list — the macOS sandbox doesn’t provide one. Find WindowServer itself in Activity Monitor.
How the app helps here:
- GPU is a separate metric in the menu bar item and in the widgets. Windows, displays and animations load the graphics processor first, and you see it right away, without opening Activity Monitor;
- the menu bar item shows the highest percentage of CPU, memory and GPU and turns red above 80%; the Last Hour widget keeps graphs for the past hour, so you can see what made the load go up: plugging in a display, opening an app.
The app is free and runs on macOS 14 and later. What else you can keep in view in the menu bar is in the guide to the Mac menu bar.