How to Fix WindowServer Using High Memory and CPU on macOS Sequoia
Tame the WindowServer process on macOS by cutting visual effects, checking displays, and disabling iPhone Mirroring.

If your Mac feels sluggish and Activity Monitor shows a process called WindowServer eating gigabytes of RAM or large chunks of CPU, you are not alone. This is a long-running annoyance that resurfaced on recent macOS releases, and on macOS Sequoia it is often tied to a specific iPhone Mirroring memory leak. Here is what WindowServer does and how to bring it back under control, from the easy wins to isolating a stubborn leak.
Quick answer
You cannot quit WindowServer, since it draws everything on screen, so the goal is to cut its rendering workload. Turn on Reduce transparency and Reduce motion in Accessibility, close excess windows, tabs, and Mission Control Spaces, and unplug external displays to test whether they are the trigger. On macOS Sequoia, disable iPhone Mirroring, which has a known memory leak, and restart to clear leaked RAM. A healthy WindowServer sits in the low hundreds of megabytes; multiple gigabytes means something is forcing constant re-rendering.
Key takeaways
- WindowServer draws everything on screen; you cannot quit it, so the goal is to cut its rendering workload.
- A healthy WindowServer sits in the low hundreds of megabytes, multiple gigabytes means something is making it re-render constantly.
- Reduce transparency and Reduce motion often cut its CPU use within seconds.
- External displays and iPhone Mirroring are the two biggest triggers on Sequoia.
- A restart is the fastest way to tell an ongoing leak apart from harmless long-uptime drift.
What WindowServer actually is
WindowServer is a core macOS process that draws everything you see, from window edges and the Dock to animations and external-display output. You cannot quit it permanently, and you should not try. The goal is to reduce the rendering workload that makes it bloat, not to kill it.
A healthy WindowServer typically sits at a few hundred megabytes. When it climbs into multiple gigabytes and stays there, something is making it re-render constantly.
Here is how to read the numbers and which fix each one points to:
| WindowServer usage | What it means | Where to look |
|---|---|---|
| Under ~500 MB, near-zero CPU idle | Healthy, no action needed | Nothing |
| 1-2 GB, CPU spikes when you interact | Heavy windows, tabs, or Spaces | Close clutter, reduce effects |
| Several GB, CPU high even when idle | External display or active leak | Unplug displays; check iPhone Mirroring |
| Climbs slowly over days, never drops | Memory leak or long uptime | Restart to confirm, then update macOS |
That single distinction (does it idle low or stay pinned when you are not touching the Mac?) tells you whether you have a real problem or just accumulated drift.
Fix 1: Reduce the number of open windows and tabs
The simplest fix is also the most effective. Every open window, browser tab, and Space adds to WindowServer's rendering overhead.
- Close apps and windows you are not actively using.
- Cut down browser tabs, especially heavy pages with video or animation. If your browser is the worst offender, our guide to Chrome using too much memory trims that load directly.
- Reduce the number of Desktop Spaces in Mission Control. Dozens of Spaces force constant background rendering.
Fix 2: Turn down visual effects
macOS transparency and motion effects are pretty but expensive for WindowServer.
- Open System Settings then Accessibility then Display.
- Turn on Reduce transparency.
- Turn on Reduce motion.
These two toggles often drop WindowServer's CPU use noticeably within seconds, with almost no impact on usability.

Fix 3: Check your external displays
External monitors are one of the biggest WindowServer triggers, especially ultra-wide panels and high-refresh-rate displays.
To test whether your display is the cause, disconnect the external monitor and watch Activity Monitor. If WindowServer's CPU drops sharply, the display setup is the culprit.
When you reconnect, try lowering the resolution or refresh rate. Running a 4K or higher panel through a marginal cable or adapter forces WindowServer to work harder than necessary.
Warning
Daisy-chained monitors and cheap USB-C-to-HDMI adapters frequently cause runaway WindowServer usage. Test with a single, directly connected display to isolate the problem.
Fix 4: Disable iPhone Mirroring
On macOS Sequoia, a known memory leak is tied to iPhone Mirroring. After you open it, WindowServer's RAM climbs and does not come back down even when you close every app. If your memory keeps creeping up with nothing obviously open, this is the prime suspect.
- Open iPhone Mirroring on your Mac.
- Disconnect your Mac from the feature, or remove the Mac under your iPhone's settings.
- Restart your Mac to clear the leaked memory.
If you only use iPhone Mirroring occasionally, leaving it off until Apple patches the leak is the cleanest workaround.
Fix 5: Restart to clear accumulated memory
WindowServer leaks tend to build over days of uptime. If you rarely shut down or restart, an alarming memory figure may simply be accumulated drift rather than an active problem.
Save your work and restart the Mac. A fresh boot resets WindowServer to its baseline, which is the fastest way to confirm whether you have an ongoing leak or just long uptime. While you are at it, check System Settings then General then Login Items, a misbehaving startup app can drive WindowServer up from the moment you log in.
Fix 6: Keep macOS updated
Apple frequently patches WindowServer and memory-leak bugs in point releases. Open System Settings then General then Software Update and install anything pending. If you are on an early build of a major release, including the move to macOS Tahoe 26 and its Liquid Glass design, which adds new rendering work for WindowServer, the latest update may already contain the fix you need.
Confirm the improvement
After applying these changes, open Activity Monitor, switch to the Memory and CPU tabs, and find WindowServer in the list. Watch it over a few minutes of normal use. It should now stay well below a gigabyte and idle near zero CPU when you are not interacting with the screen. If it still spikes, the most likely remaining causes are an external display or a specific app forcing constant redraws, which you can isolate by quitting apps one at a time.
What to do right now
If WindowServer is eating your Mac's resources, run these in order:
- Check Activity Monitor to see whether it idles low or stays pinned; that decides everything.
- Turn on Reduce transparency and Reduce motion in Accessibility, Display.
- Close excess windows, tabs, and Spaces, especially heavy media pages.
- Unplug external displays one at a time to test whether a monitor is the trigger.
- Disable iPhone Mirroring on Sequoia and restart to clear the leaked memory.
- Install any pending macOS update, since Apple patches these leaks in point releases.
Frequently asked questions
Can I quit or kill the WindowServer process?
No. WindowServer renders your entire display, so force-quitting it logs you out instantly and you lose unsaved work. Reduce its workload instead, cut windows, tabs, and visual effects, or restart to reset it.
How much memory should WindowServer use?
A healthy WindowServer sits in the low hundreds of megabytes and uses near-zero CPU when idle. Multiple gigabytes, or sustained high CPU while you are not interacting with the screen, signals an external display issue, a leak, or too many open windows and Spaces.
Why does WindowServer spike only when I plug in my monitor?
External displays, especially 4K, ultra-wide, or high-refresh panels through marginal cables or adapters, dramatically increase rendering work. Lower the resolution or refresh rate, use a direct connection rather than a daisy chain, and swap a cheap adapter for a quality one.
Is the iPhone Mirroring memory leak fixed?
Apple has been patching WindowServer leaks in macOS point releases, so install the latest update first. If your memory still climbs after using iPhone Mirroring, disable the feature and restart as a workaround until a fix lands.


