Explainer

What is WindowServer on Mac, and why is it busy?

WindowServer is the part of macOS that puts every window on every display and passes your clicks and keystrokes to apps. It's busy whenever something on screen changes, so high WindowServer CPU almost always comes from another app or your display setup, not from WindowServer itself.

By Mohamed Elsawy · Updated · 7 min read · For Macs with Apple silicon running macOS 15 or later

What WindowServer does

Apple has no support article on WindowServer, so most of what you'll read about it online is guesswork. The best primary sources are short ones:

  • macOS's own manual page (type man WindowServer in Terminal) calls it the "Window management, compositing, and event routing daemon", a system service that "is not user-invoked". The page on macOS 27.0.1 is dated August 2026.
  • Apple's developer documentation describes the windows apps create as "managed by the macOS window server", both the ones you see and offscreen ones (Quartz Window Services).
  • An Apple engineer on Apple's developer forums explains that the Quartz Compositor is a subsystem within the window server, which "handles a lot more than compositing": all user interface events are routed through it (Apple Developer Forums).

In plain terms: each app draws its own windows, and WindowServer combines them into the picture on each display, many times a second, with the shadows, transparency and animations macOS adds. It also decides which app receives each click and key press. On macOS 27.0.1 it runs as a system user called _windowserver, from inside a private framework in /System. It's not malware, and you can't remove it.

Is high WindowServer CPU normal?

Apple publishes no "normal" figure, so here's a real one. On the M2 Max MacBook Pro this guide was written on, with only the built-in display and a handful of apps open, WindowServer used between about 33% and 43% of one core in a series of top samples while we worked (macOS 27.0.1). Remember that Activity Monitor's % CPU is per core, so 40% is less than half of one of the Mac's twelve cores.

So tens of percent while you're using the Mac is ordinary, and it rises with anything that changes on screen: scrolling, video, animations, resizing windows. Its memory figure can look large too: ours was just under 900 MB. A large figure on its own isn't a leak; one that keeps climbing day after day until you restart is worth reporting to Apple.

It's worth investigating when WindowServer:

  • stays high while nothing on screen is changing;
  • comes with stutter, lag when moving windows, heat or fan noise;
  • got noticeably worse after you connected a display or installed an app.

What makes it work harder

No Apple document ties WindowServer's load to particular causes. The ones below follow from what it does (more pixels and more changes mean more compositing work), and each comes with a simple test: change one thing, then watch WindowServer's % CPU in Activity Monitor for a minute.

More pixels, more often: displays and refresh rates

Every extra display, and every extra pixel on it, is more for WindowServer to compose. High refresh rates mean more frames per second, and Apple notes that "using a scaled resolution may affect performance" (Apple, Change your Mac display's resolution). Test: disconnect an external display, or switch it to its default resolution in System Settings › Displays. On displays that support it, the Refresh Rate pop-up menu is in the same place (Apple, Change the refresh rate).

Transparency and motion effects

Translucent menus, sidebars and the Dock are blended live, and animations add frames. Test: turn on Reduce transparency in System Settings › Accessibility › Display (the same place on macOS 15 Sequoia, macOS 26 Tahoe and macOS 27). Reduce motion is under Accessibility › Display on macOS 15, and moved to Accessibility › Motion on macOS 26 and 27 (Apple, macOS 15; Apple, macOS 26).

Many windows, Spaces and widgets

Every open window is something WindowServer manages, including windows on other desktops (Spaces), and desktop widgets that update add more to draw. Windows and tabs left open for weeks quietly add up. Test: close or quit what you're not using, or log out and back in, and compare.

An app that redraws constantly

This is the most common real cause. An app that redraws all the time, such as a web page with animations or video, a chat app playing animated images, a game, a live chart or a menu bar app updating many times a second, makes WindowServer redraw too. Its CPU shows up under WindowServer, not under the app. Test: hide or quit apps one at a time (Command-H hides the front app) and watch for the one that makes WindowServer drop.

Fixes, in the order to try them

  1. Find the app. Use the hide-one-at-a-time test above. When you find it, close the window or tab that's animating, check the app for an update, or look in its settings for animations or live previews.
  2. Close what you don't need. Old windows, tabs and documents you've left open on other desktops all add up.
  3. Turn on Reduce transparency, and Reduce motion if you don't mind fewer animations.
  4. Simplify your displays. Try an external display at its default resolution, or a lower refresh rate, and see whether WindowServer settles.
  5. Restart. It clears windows and graphics memory built up over days of use.
  6. Update macOS. If WindowServer misbehaves after an update with no app to blame, the next update may fix it. Check System Settings › General › Software Update.

Why you shouldn't force quit it

Quitting WindowServer isn't a fix. It ends your login session: every app closes without saving, and you're returned to the login window, where WindowServer starts again. Apple doesn't document this, but it's consistent with an Apple engineer's description of the window server as "not a user-serviceable part". Because the process belongs to a system user, Activity Monitor may also ask for an administrator password first. Fix the app that's making it work, and WindowServer calms down on its own.

If it's part of a wider slowdown, Why is my Mac so slow? goes through the other usual causes, and our Activity Monitor guide explains the columns.

How Tend helps

WindowServer's work is caused by other apps, so the useful view is which app was busy at the same time. Tend's free Energy & Apps page lists every app's CPU, memory and estimated watts, with 24 hours of history (30 days with Pro), so you can look back at a slow afternoon and see which app rose and fell with it. Tend doesn't move WindowServer's power onto the app that caused it; it shows them side by side, and you make the connection.

Questions

What is WindowServer on Mac?

WindowServer is a macOS system process that combines every app's windows into the picture on your displays and routes clicks and keystrokes to the right app. macOS's own manual page describes it as the window management, compositing and event routing daemon. It's part of macOS, not malware.

Why is WindowServer using so much CPU?

Usually because something on screen keeps changing: an app or web page that animates or plays video, many open windows, transparency effects, or extra and high-resolution displays. The CPU is counted under WindowServer even though another app causes it. Hide or quit apps one at a time to find which one.

Can I quit WindowServer?

You can, but it ends your login session: all your apps close without saving and you return to the login window. It isn't a fix. Find the app making it busy instead.

Why does WindowServer use more with an external monitor?

WindowServer composes the picture for every display, so another display, especially a high-resolution one at a high refresh rate or a scaled resolution, means more work each second. Apple notes that scaled resolutions may affect performance. Try the display's default resolution and compare.

Sources

Spotted something out of date? Tell us and we'll fix it.

See which app was busy when WindowServer was

Tend is free to download. Pro is $1.99 a month, $12.99 a year with a 7-day free trial, or $29.99 once.