# 解決 Mac 上 WindowServer 高 CPU

> 隔離重繪、擷取工具、顯示器、縮放與更新頻率，並對照穩定的 WindowServer 基準。

Published: 2026-06-21 | Updated: 2026-09-18

WindowServer 是 macOS 的顯示合成器。它的 CPU 占用反映的是把各應用程式畫面合到各顯示器上所需的工作量，但行程名稱本身並不會指出是哪個應用程式在反覆重繪。動畫、螢幕共享或調整顯示器時短暫升高很正常。真正有用的訊號是閒置時持續高負載，並且已經影響到回應、發熱或續航。

## WindowServer 實際在做什麼

WindowServer 把各應用程式繪製的內容合成為每台顯示器上的最終畫面。視窗、選單、Dock、透明效果、動畫和外接顯示器輸出都經過它。因此，應用程式的一部分圖形負載會出現在 WindowServer 名下，而不是應用程式本身名下。單憑高占用並不能鎖定來源，所以強制結束 WindowServer 是錯誤的第一步：macOS 會立刻重新啟動它，一切重新繪製，你仍然不知道是哪個表面在持續餵幀。

## 什麼會把它推高

下面幾類情況會讓 WindowServer 更忙：

- **大量視窗與空間。** 幾十個開啟的視窗和一堆虛擬桌面都要追蹤並合成。啟用 **顯示器有單獨的空間** 時，Mission Control 空間會進一步放大表面數量。
- **外接與高解析度顯示器。** 要推送的像素更多，尤其是 4K、5K 或同時接多台顯示器，會穩定抬高基線。合蓋使用（clamshell）時，仍然要合成每一塊已連接的面板。
- **縮放解析度。** 以非原生「看起來像」解析度執行時，可能需要更大的算繪表面再縮小。成本取決於 Mac、顯示器、縮放模式和任務；Retina 縮放本身是正常的。
- **透明與動態效果。** 選單、Dock 和控制中心的模糊與半透明是 WindowServer 持續計算的即時效果。較新的 macOS 上系統介面效果更重，同一場景可能比舊版本更費。
- **瀏覽器和其他 Electron 應用程式。** 帶動畫、影片、WebGL 或活潑儀表板的分頁與視窗，即使你沒在看，也會持續提交幀。Chrome、Edge、Brave、Arc、Slack、Discord、VS Code 等常出現在使用者回報裡，因為它們的 GPU 合成工作最終仍會落到 WindowServer。
- **視窗很多、又在不斷重繪的應用程式**，例如高速輸出的終端機、每秒重新整理的狀態列，或背景仍在動畫的頁面。
- **擷取與遠端顯示軟體。** 螢幕錄製、視訊通話、AirPlay、Sidecar、接續互通相機、遠端桌面和虛擬顯示工具都會增加擷取或合成工作。
- **高更新頻率與動態桌面。** 更多幀或持續變化的像素（動態桌布、舞台管理器頻繁切換、即時小工具）會在你並未操作視窗時抬高負載。
- **即時資源監視器。** 一直開著的「活動監視器」視窗、選單列 CPU 圖，或強制頻繁更新介面的工具，本身也會讓合成器忙碌。如果同時還看到 `sysmond` 很高，先關掉監視器再複查 WindowServer。

過時的獨立顯示卡驅動程式是 Windows 上的常見故事。在 Apple 晶片 Mac 上，GPU 堆疊隨 macOS 一起提供，所以「更新 GPU 驅動程式」很少是正解。優先保持 macOS 和嫌疑應用程式為最新即可。

## 何時高占用算正常

下列情況會出現短暫尖峰，屬於預期：

- 開啟或調整大量視窗、切換空間，或接入顯示器
- 全螢幕播放影片、執行遊戲，或拖曳時間軸
- 共享或錄製螢幕
- 前景開啟動畫很多的頁面

場景穩定後，這些尖峰應回落。當安靜桌面上仍持續偏高、打字時光標發澀，或風扇與耗電跟著合成器走卻找不到明顯重繪源時，才把 WindowServer 當成問題。

## 用「活動監視器」診斷

改設定之前先採集基線：

1. 開啟 **活動監視器**（**應用程式 › 工具程式**），選 **CPU** 標籤，搜尋 `WindowServer`。
2. 在安靜桌面上記一兩分鐘的百分比：可見視窗很少、無螢幕共享、無影片、瀏覽器分頁閒置或已捨棄。
3. 再現一次變慢（開啟那個重的瀏覽器視窗、開始擷取，或喚醒外接顯示器），觀察 WindowServer 是否隨這一變化升高。
4. 按 CPU 排序，掃一眼瀏覽器輔助行程、會議應用程式、錄影工具，以及名稱像虛擬顯示的東西。排在最前的應用程式是嫌疑；WindowServer 常常只是它的繪圖帳單。
5. 可選：在「終端機」裡跑 `top -o cpu` 三十秒，能得到同樣的排名，又不必一直開著「活動監視器」自己的視窗。

用症狀來判斷 WindowServer：輸入更順、更涼，或續航更好。百分比降了但可見表現與散熱沒有改善，不算有用的修復。

## 如何壓低負載（由輕到重）

先做成本低的改動。一次只改一個變數，等一會兒，只有指標和體感都改善時才保留。

1. **關掉不用的視窗、分頁和空間。** 合併瀏覽器視窗，捨棄閒置分頁（Chrome/Edge 的 **Memory Saver** 或瀏覽器自帶的工作管理員），並刪掉不用的空間。瀏覽器開著時，這通常是最大的一刀。
2. **降低透明度：** 開啟 **系統設定 › 輔助使用 › 顯示**，啟用 **降低透明度**。Apple 的[顯示設定說明](https://support.apple.com/guide/mac-help/unac089/mac)介紹了視覺變化。保持 macOS 更新；某些過渡版本裡這個開關幾乎無效，要到後續修補程式才見效。用同一場景對比後再當作效能修復保留。
3. **減少動態效果：** 現在有獨立的 **輔助使用 › 動態效果** 面板。Apple 的[動態效果說明](https://support.apple.com/guide/mac-help/mchlc03f57a1/mac)說明它會改變開啟應用程式、切換桌面等動畫。
4. **暫停擷取與遠端顯示。** 停止錄影，關掉會議攝影機／共享，中斷 Sidecar 或 AirPlay，並逐個結束虛擬顯示工具。
5. **簡化桌面。** 把動畫或動態桌布換成靜態圖；隱藏或結束會不斷重繪選單列的即時小工具與常駐 HUD 疊層。
6. **測試顯示縮放與更新頻率。** 優先用預設「看起來像」尺寸，或在外接螢幕上試較低更新頻率，再對比同一工作負載。不要僅憑「縮放都不好」的假設犧牲可讀文字。
7. **中斷一台顯示器做診斷。** 若基線下降，再分別測該螢幕的縮放、更新頻率、線纜和轉接器。多顯示器時，可在 **桌面與 Dock › Mission Control** 關閉 **顯示器有單獨的空間**，以減少獨立的合成上下文。
8. **更新 macOS 和重負載應用程式**，再測同一閒置場景。合成器與瀏覽器 GPU 的問題經常落在普通小版本更新裡。
9. **登出再登入** 只在證據收齊後做；這會重新啟動使用者顯示工作階段。完整重新啟動能清掉洩漏的重繪狀態，但也可能掩蓋再次觸發它的應用程式，所以用在已經摸清規律之後，而不是代替隔離排查。

## 什麼幫不上忙

- **不要強制結束 WindowServer。** 螢幕上的一切會同時重繪，CPU 再次尖峰，你對歸屬仍然一無所知。
- **不要指望通用「清理」或「加速」應用程式能修好合成負載。** 關視窗、減效果、停擷取才是真正的槓桿。
- **不要把普通 Retina 縮放當成故障。** 在同一台 Mac 和同一條線纜上，把你實際使用的縮放模式與預設模式對照測量。

## 原理：合成器，以及縮放為何費資源

WindowServer 是一個合成器。每個應用程式先畫進自己的離螢幕緩衝區（backing store），WindowServer 再把這些緩衝區合成為每台顯示器的最終畫面，並沿途套用變換與效果。場景一變就會合成，所以持續重繪和擷取會不斷占用 CPU 或 GPU。部分縮放模式會使用更大的中間表面再縮小，但這只是可能因素之一。像素量、更新頻率、顯示器數量和重繪頻率必須分別測試。

<figure class="blog-diagram">
  <img src="https://mole.fit/img/blog/windowserver-compositor.webp" width="1360" height="454" loading="lazy" alt="多個應用程式離螢幕緩衝區進入合成器，輸出一幅顯示畫面；縮放解析度先算繪更大表面，再縮小到面板原生像素。">
  <figcaption>WindowServer 為每台顯示器組合應用程式表面。縮放、更新頻率、畫面擷取和反覆重繪都會給這條合成流水線增加工作。</figcaption>
</figure>

## 監視工具能幫到哪裡

「活動監視器」或 [Mole](https://mole.fit/tw/) 的「狀態」頁可以顯示 WindowServer、CPU 和 GPU 趨勢，但兩者都無法自動把合成成本歸給某個應用程式。可靠做法是受控隔離：停掉一個重繪源，或只改一個顯示變數，再比較閒置與工作負載基線。

## 一套可重複的排查流程

在閒置和出問題時分別測量 WindowServer，然後逐個隔離動畫內容、瀏覽器、擷取工具、顯示器、縮放與更新頻率。只有指標和可見症狀都改善時才保留改動。不要強制結束 WindowServer，也不要把普通 Retina 縮放當成故障。

## 常見問題

### WindowServer 高占用危險嗎？

它會抬高發熱、風扇噪音和耗電，也會讓介面發澀，但它不是惡意軟體，也不會單獨損壞 Mac。修好重繪來源即可；不要試圖刪除或停用這個行程。

### 為什麼 Chrome 看起來沒事，WindowServer 卻很高？

瀏覽器的工作常常落在 WindowServer 上，因為它提交的是要被合成的表面。帶動畫或影片的背景分頁即使 Chrome 自己的輔助行程百分比看起來不高，也可能持續餵幀。先暫停或關掉那些分頁，再複查。

### Apple 晶片上還要降低透明度嗎？

當作受控試驗來試。許多 M 系列 Mac 在關掉透明與動態效果後仍會減掉合成工作，尤其是多顯示器或多瀏覽器視窗時。只有同一閒置場景體感更好時再保留該設定。

### 重新啟動能永久修好 WindowServer 嗎？

重新啟動會清掉暫時的重繪狀態，常常能好一陣。若同一個瀏覽器視窗、擷取工具或顯示器設定又把負載帶回來，原因就在設定。先修那個，只有工作階段已經很糟時才再重新啟動。

---

Canonical HTML page: https://mole.fit/tw/blog/windowserver-high-cpu-mac
Blog index for agents: https://mole.fit/tw/blog/llms.txt
Site index for agents: https://mole.fit/llms.txt
