← Blog

WindowServer high CPU on Mac: what it is and what you can do

October 2026 • 4 min read

WindowServer is a macOS system process. According to its man page, it provides window management, content compositing and event routing. You cannot turn it off, and Apple does not publish a normal level of usage for it. I did not find a separate Apple article about high WindowServer usage, so below I mark what a primary source supports and what it does not.

What WindowServer is

The man page says WindowServer is a system daemon that provides UI services such as window management, content compositing (building the final picture from windows) and event routing. launchd starts it, you do not invoke it, and it has no options (man WindowServer).

In Activity Monitor it is listed among the macOS processes. To find it, type "WindowServer" in the search field on the CPU tab, or choose View > All Processes (Apple: View information about Mac processes in Activity Monitor).

What load it shows

Apple does not publish a norm for WindowServer. Here is what I saw on my own Mac (macOS 15.7.7, Apple silicon, one built-in display, with other tasks running):

  • in one top run WindowServer used about 22% of one core,
  • in another, later, about 40%,
  • its physical memory footprint (the MEM column in top) was about 3.7 GB.

I did not look into why the runs differ. The one conclusion: WindowServer's load is not constant and depends on what is happening on screen at that moment. That is my conclusion from the man page description (content compositing), not a statement from Apple.

The first sample of top -l is not valid: the man page says the percentage is calculated from the delta between samples (on my Mac the first sample showed 0.0). Look at the second and later samples.

What affects it

Each item says what it rests on.

  • Number and settings of displays. Apple describes the settings in System Settings > Displays: resolution (Default picks the best resolution for the display, Show all resolutions reveals the rest) and refresh rate. The refresh rate option appears only for an external display that supports changing it (Apple: Displays settings on Mac). Apple does not describe how these settings affect load. Forums often mention external monitors, but I have one built-in display and cannot test that.
  • Transparency. In Accessibility > Display there is Reduce transparency, which replaces the transparent effect used on some backgrounds in macOS with a solid background (Apple: Change Display settings for accessibility on Mac). Apple does not say it lowers load.
  • Motion. In Accessibility > Motion there is Reduce motion, which reduces the motion of the interface. When it is off, the interface shows more animation, such as Liquid Glass morphing effects (Apple: Customize onscreen motion on Mac). That page says nothing about performance.

These settings change what WindowServer draws. Whether they help you can only be checked by measuring.

How to test it yourself

  1. Open Activity Monitor, the CPU tab, find WindowServer and write down its % CPU over a minute of work without switching tasks.
  2. Change one setting, for example Reduce transparency.
  3. Wait a minute under the same conditions and compare.
  4. Change the setting back if there is no difference.

Change one setting at a time so you know which one worked.

If you suspect graphics load, Activity Monitor has Window > GPU History. Apple says that many tall blue bars packed tightly together mean a heavy GPU load (Apple: View GPU activity in Activity Monitor).

What not to do

Do not quit or pause WindowServer. It is the process through which apps show windows. I did not test what exactly would happen: the test could freeze my screen. So there is no claim here, only a recommendation to leave it alone.

How this relates to Aide

Aide does not list WindowServer and does not let you pause or quit it: the process is on a protected list (according to Aide's code). Aide shows apps that crossed the limit you set, but it cannot link them to WindowServer's load. Aide does not reduce WindowServer's load and does not change display settings. More on the home page.

FAQ

Is 20-40% WindowServer usage normal? That is what I had on a built-in display, but Apple does not publish a norm, so I cannot say "this is normal". Compare with your own Mac in quiet moments.

Can I turn WindowServer off? No. Per the man page it is a system daemon launched by launchd; without it there would be no windows.

Why does WindowServer take several gigabytes? I did not look into the cause. In my measurement its physical memory footprint in top was about 3.7 GB, and the value stayed steady across several samples.

Does an external monitor, or unplugging it, help? There are no primary sources. You can test it by measuring with the steps above if you have an external display.

Sources

Back to the blog