Your screen · macOS process

WindowServer on Mac: what it is, why it is high, and what actually helps

WindowServer is the part of macOS that draws your screen. Every window, menu, cursor move and animation from every app passes through it, so it is always running and always using some CPU. Around 1 to 2 GB of memory and 5 to 15 percent CPU is normal. It climbs with external displays, scaled resolutions, many windows and video. You cannot quit it: ending it logs you out. If it has grown past 5 GB and keeps growing, that is a leak, and logging out and back in resets it.

Leave itA core part of macOS. Quitting it does nothing useful, and macOS starts it again.

Updated 4 November 2026 · macOS 12 Monterey to macOS 26 Tahoe · 6 min read

What it is
The macOS screen compositor. Apps draw their windows, WindowServer puts them together on your display.
Normal
1 to 2 GB memory, 5 to 15 percent CPU while you work, brief spikes to 50 percent when windows move.
Not normal
Memory above 5 GB that keeps climbing, or 60 percent plus CPU while the Mac sits idle.
Safe to quit?
No. Quitting WindowServer logs you out and closes every app. Log out properly instead.
The one safe fix
Close what you are not using, then log out and back in. A restart is the fallback.

What WindowServer actually does

Open Activity Monitor on any Mac and WindowServer is near the top of the CPU list, owned by a user called _windowserver. It is not an app you installed and it is not malware. It is the compositor: the single process that takes the contents of every window from every app, stacks them in the right order, adds the shadows, the translucent menu bar, the Dock magnification and the Mission Control animations, and sends the finished frame to each display, up to 120 times a second on a ProMotion screen.

Because it sits between every app and your display, two things follow. First, it is never idle while you are doing anything on screen, so a few percent of CPU is its resting state. Second, it carries a copy of the surfaces apps hand it. A Mac with forty windows across three Spaces and a 5K display has far more pixels to hold and blend than a laptop with Safari open, and WindowServer's memory and CPU reflect that directly.

It also handles input. Mouse moves, trackpad gestures and keystrokes are routed by WindowServer to the window in front. That is why, when it hangs, the whole Mac feels frozen even though the apps underneath are fine.

What normal looks like, and what is not

People worry because the number is big compared with other processes. Compare it with the right baseline instead:

Laptop screen, a few apps0.8 to 1.5 GBResting state. CPU 3 to 10 percent.
One 4K or 5K external display2 to 3 GBMore pixels to hold. CPU 10 to 20 percent while you work.
Two or three displays, scaled resolution3 to 5 GBScaled modes render at 2x then shrink. Heavy but steady.
Growing past 5 GB and not coming back6 to 80 GBA leak. Memory does not drop when you close windows.
Typical WindowServer memory on Apple silicon Macs. Steady is fine at any of the first three levels. Steadily climbing is the problem.

The rule of thumb: steady is fine, climbing is not. If WindowServer sits at 3 GB all day with two monitors plugged in, that is the cost of two monitors. If it was 1.5 GB this morning, 4 GB at lunch and 9 GB now, and closing windows does not bring it down, it has a leak and only a log out or restart clears it.

For CPU, spikes are normal. Dragging a window, scrolling a long page, switching Spaces or playing video can push it to 40 or 50 percent for a moment. Sustained 60 percent or more while nothing is happening on screen is not normal and usually points at one app that keeps redrawing (a screen recorder, a video call, a browser tab with an animation, a wallpaper that moves).

Why WindowServer is high right now

WindowServer does not get busy on its own. Something is giving it more to draw, or something is leaking. The usual causes, roughly in order of how often they turn out to be the answer:

  1. External displays. Each extra display is a whole extra frame to compose. 4K and 5K screens multiply the pixel count, and a scaled resolution ("Looks like 1440 x 900" on a 4K panel) makes macOS render at double size and then shrink it, which is the single most expensive thing you can ask WindowServer to do all day.
  2. Many windows and Spaces. Every open window has a surface WindowServer keeps, even if it is behind others. Dozens of Finder and browser windows across several desktops add up.
  3. Apps that redraw constantly. Video calls, screen sharing, screen recorders, games, dashboards with live charts, browser tabs with animated ads, terminal windows scrolling logs. The app's own CPU is one cost; the redraw it forces through WindowServer is a second one.
  4. Transparency and motion. Blurred menu bars, translucent sidebars and the Dock magnification all cost GPU time per frame. Small on an idle Mac, noticeable when combined with the causes above.
  5. A memory leak in macOS itself. Several macOS versions have shipped with WindowServer leaks, most famously on the 2021 M1 Pro and M1 Max MacBook Pros running macOS 12.0, where memory grew to tens of gigabytes within hours. Those bugs get fixed in point updates, but new ones appear. A leak looks like climbing memory that does not fall when you close windows.
  6. A buggy third-party app. Window managers, display tools, menu bar utilities and some video conferencing apps can trigger WindowServer growth. The tell is that the growth starts when the app launches.

Is it safe to quit WindowServer?

No, and it is the one process in Activity Monitor where "Force Quit" has an immediate, visible consequence. WindowServer owns your login session. Ending it (from Activity Monitor or with killall WindowServer in Terminal) takes down every window on screen and drops you at the login screen. Any unsaved work in any app is gone. macOS restarts WindowServer automatically a second later, which is why some guides describe it as a "reset": it is, but it is exactly the same as logging out, only without the chance to save.

If you want the reset, do it the polite way: Apple menu, Log Out, then log back in. You get the same fresh WindowServer and macOS asks apps to save first. Most apps and browsers reopen their windows and tabs afterwards.

It is also not a virus. There are no legitimate copies of WindowServer outside /System/Library/PrivateFrameworks/SkyLight.framework, and the Activity Monitor entry always runs as _windowserver. Something impersonating it would be a different name or a different user.

What are you about to quit?

How to bring WindowServer down, in order

  1. Find what is feeding it

    In Activity Monitor, sort the CPU tab by % CPU. If an app sits above WindowServer and both move together, that app is the cause. Look for video calls, screen recorders, games and browser tabs with video or animation. Quit that app first and watch WindowServer settle within a few seconds.

  2. Close windows you are not using

    Not just the app in front: minimised windows, windows on other Spaces and the thirty Finder windows behind everything. Each one is a surface WindowServer keeps alive. Press ⌘W generously. Merging browser windows into one also helps.

  3. Use the default resolution on external displays

    System Settings, Displays, pick the external display and choose Default for display. Scaled modes force 2x rendering. If you need more desktop space, a lower native setting costs far less than a scaled one.

  4. Reduce transparency and motion

    System Settings, Accessibility, Display, turn on Reduce transparency and Reduce motion. The menu bar and sidebars go flat. On an older or very busy Mac this takes a visible chunk out of WindowServer's load. In Desktop & Dock, turning off Dock magnification helps a little too.

  5. Unplug and replug the display, or change its refresh rate

    If WindowServer jumped when you connected a monitor and never came back down, disconnect it for ten seconds. For ProMotion MacBook Pros, setting the built-in display to 60 Hz halves the frames WindowServer has to produce.

  6. Log out and back in

    Apple menu, Log Out. This restarts WindowServer cleanly and clears any leaked memory. It is faster than a restart and apps reopen with their windows. Do this whenever memory has climbed and will not come down.

  7. Restart, then update macOS

    If a log out does not hold and the growth returns within an hour, restart. If it keeps happening on an otherwise quiet Mac, check System Settings, General, Software Update: WindowServer leaks are the kind of bug Apple fixes in point releases, and the fix only arrives if you install it.

How to tell a leak from a busy day

Activity Monitor shows you a snapshot, and a snapshot cannot tell you which way a number is heading. That is the whole difficulty with WindowServer: 4 GB might be two monitors doing their job, or the first hour of a leak. The only reliable test is time.

  1. 09:00Log in, two displays. WindowServer 1.6 GB. Normal.
  2. 11:30Video call for an hour. 3.1 GB, CPU 35 percent. Normal while the call runs.
  3. 12:30Call ended, windows closed. Still 3.0 GB. Hmm. Should have fallen back toward 2 GB.
  4. 15:00Nothing heavy open. 5.8 GB. Memory pressure turns yellow. This is a leak.
  5. 17:009.4 GB, swap 6 GB, Mac stutters. Log out and back in: 1.5 GB.
A real-world leak pattern. The giveaway is 12:30: the work stopped but the memory did not come back.

Two quick checks you can do by hand. First, note the memory figure, close every window you can, wait a minute, and look again: on a healthy Mac it falls clearly. Second, open the Memory tab and watch the Memory Pressure graph at the bottom: if it is green, WindowServer's size is not hurting you yet, whatever the number says. Yellow or red with WindowServer at the top of the list is when a log out stops being optional.

If you would rather not babysit it, Safe to Quit tracks each process over hours and flags the ones that grow and do not shrink, so you get told "WindowServer has tripled since 9am" instead of guessing from one number.

The famous one: the M1 Pro and M1 Max leak

In late 2021, owners of the new 14 and 16 inch MacBook Pros on macOS 12.0 and 12.0.1 found WindowServer growing to absurd sizes, in some reports past 80 GB on a 64 GB machine, with the Mac swapping itself to a crawl. The thread on Hacker News reached the front page and the quotes below come from it. Reboots were the only fix until Apple addressed it in the following updates, and a few things that reliably triggered it (certain display setups, the Music app's visualiser, specific third-party window tools) became well-known workarounds.

It matters today for one reason: it taught a generation of Mac owners to force quit WindowServer, and that advice still circulates. The leak is long fixed. The log out is still the right move; the killall is not.

What people hit, in their words

“But then I open Activity Monitor and I see WindowServer using ~80GB of memory”

“As a result, reboots appear to be the only real solution for me.”

“it always comes up to 5-6GB even after I unplugged it from my external monitor”

“usually with WindowServer using CPU cycles non-stop and UI that felt choppy across all programs.”

Watch: the workaround people used for the 2021 leak

How to stop the M1 Pro / M1 Max WindowServer Memory Leak by dmg. One minute, no fluff. The display setting it shows is still the first thing to try when WindowServer grows after you plug in a monitor.

Questions people ask

What happens if I quit WindowServer on Mac?

You are logged out instantly. Every window closes without saving and you land on the login screen; macOS then starts a fresh WindowServer and you log back in. It is the same result as Apple menu, Log Out, minus the chance to save your work. Use Log Out instead.

What is WindowServer on a Mac?

It is the core macOS process that composes everything you see: it takes each app's window contents, layers them with shadows, transparency and animations, and sends the finished frames to your displays. It also routes your mouse, trackpad and keyboard input to the front window. It runs as the user _windowserver and cannot be disabled.

Why is WindowServer using so much CPU on my Mac?

Because something is asking it to redraw a lot: external displays (especially at a scaled resolution), many open windows, a video call, screen sharing or recording, a game, or a browser tab with constant animation. Quit the app that moves in step with WindowServer in Activity Monitor and it settles. Sustained high CPU on an idle Mac points to a leak or a misbehaving utility; log out and back in.

Why is WindowServer using so much memory?

Normal is 1 to 2 GB, more with big or multiple displays, because it holds a surface for every window. If it keeps growing and does not fall when you close windows, it is leaking, which has happened in several macOS versions. Logging out and back in clears it; installing the latest macOS update usually stops it recurring.

How do I fix WindowServer high CPU for good?

Use the default resolution on external displays rather than a scaled one, keep the window count down, turn on Reduce transparency and Reduce motion in Accessibility settings, quit screen-heavy apps when you are done with them, and keep macOS updated. Those four remove most of the load. For the rest, a log out resets it.

Is WindowServer a virus or malware?

No. WindowServer is a built-in part of macOS and has been since the first Mac OS X. It always runs as _windowserver from the system's SkyLight framework. A process with a similar name running as your user from a different location would be suspicious, but the Activity Monitor entry everyone sees is the real one.

Sources and further reading