Glossary/Processes you will see
WindowServer
Quick answer
WindowServer is the macOS system process that manages windows, composites what apps draw into the final image on your displays, and routes input events such as clicks and key presses to the right app.
Everything you see on screen passes through WindowServer. Apps draw their own windows, and WindowServer combines them with the menu bar, the Dock, shadows, transparency and animations, then sends the result to each display.
Because it does work on behalf of other apps, its CPU and GPU use rise and fall with what is on screen. It is normal for WindowServer to appear near the top of the CPU list while you move windows, watch video or use a large external display.
Why WindowServer is using so much CPU
WindowServer works harder when there is more to draw. Common reasons are many open windows, several displays or high resolution displays, scaled display modes, visual effects like transparency, and apps that redraw constantly (animated web pages, video, games).
A single app that keeps updating its window can make WindowServer busy even if that app shows only modest CPU itself. If WindowServer stays high while the screen looks still, the cause is often an app redrawing something in the background.
How to bring it down
Close windows and browser tabs you do not need, and quit apps that animate or play video in the background. Then watch whether WindowServer drops.
If you use external displays, try disconnecting one to see how much of the load it accounts for. In System Settings, Accessibility, Display, turning on Reduce transparency or Reduce motion can also lower the drawing work.
Should you force quit WindowServer?
No. WindowServer runs your whole graphical session. If it stops, every app on screen goes with it and you are sent back to the login window, which can lose unsaved work. Reduce what it has to draw instead.
How to see which app is making WindowServer busy
WindowServer does the drawing, but another app usually asks for it. Activity Monitor does not link the two directly, so you find the app by elimination.
- Open Activity Monitor, click the CPU tab, and find WindowServer. You can type its name in the search field at the top right.
- Note its % CPU, then clear the search and choose View > Windowed Processes. This lists only processes that can create windows.
- Sort by % CPU. An app that stays busy while you are not using it is a good suspect.
- Quit that app, or close its windows, and watch WindowServer for a minute. If it drops, you have found the cause.
- If nothing stands out, hide or quit apps one at a time, starting with browsers, video players and apps with animations, until WindowServer settles.
Why WindowServer uses so much memory
To combine windows into one picture, WindowServer keeps an image of what each window shows. Larger windows, more windows, and high resolution displays all mean more image data to keep, so its memory grows with your setup.
If WindowServer memory keeps climbing over days without you opening more windows, log out and back in, or restart the Mac. Either one starts it fresh. Save your work first, because logging out closes your apps.
Normal WindowServer use vs a problem
Normal: WindowServer rises while you drag windows, switch Spaces, scroll, play video, or connect a display, and falls when the screen is still. It is one of the busier system processes on any Mac with a lot on screen.
Worth looking into: WindowServer stays busy while nothing on screen is moving, the pointer stutters, or animations become choppy. That usually means an app is redrawing constantly or a display setup is asking for a lot of work.
- A browser tab with animations or video playing in the background.
- Several external displays, or scaled resolutions that are not the display's default.
- Many windows open across several Spaces.
- Transparency and motion effects turned on.
- An app that updates its window many times a second, such as a chart, a game, or a screen recorder.
How to check WindowServer's GPU use
Much of WindowServer's drawing happens on the graphics processor, so its CPU figure is only part of the story. In Activity Monitor's CPU tab, choose View > Columns and turn on % GPU to see how much GPU time each process is using, WindowServer included.
Choose Window > GPU History for a graph of recent GPU activity. If the graph stays busy while the screen is still, something is still drawing, and the elimination steps above will find it.
Questions people ask
What is WindowServer on Mac?
It is the macOS process that manages windows, combines everything apps draw into what appears on your displays, and passes clicks and keystrokes to apps. It is part of macOS, not something you installed.
Why does WindowServer use more CPU with an external monitor?
Each display adds pixels that WindowServer has to composite. High resolution and scaled modes add more work, so load goes up with every screen you connect.
Can I quit WindowServer?
You should not. Quitting it ends your graphical session and logs you out, which closes your apps.
Is WindowServer a virus?
No. WindowServer is part of macOS. In Activity Monitor it runs under the system user `_windowserver`, not your own account.
Why does WindowServer use so much memory?
It keeps an image of every window so it can combine them into what you see. More windows, larger windows and high resolution displays all add to it.
Does closing windows lower WindowServer CPU?
Often, yes. Fewer windows and less movement on screen give it less to draw. Closing windows that animate or play video helps the most.
Related
Looking for something better than Activity Monitor? See the best Activity Monitor alternatives for Mac, or browse every term in the glossary.