# Mac에서 WindowServer 높은 CPU 고치기

> 안정적인 WindowServer 기준선과 비교하며 다시 그리기, 캡처 도구, 디스플레이, 스케일링, 주사율을 분리한다.

Published: 2026-06-21 | Updated: 2026-08-08

WindowServer는 macOS 디스플레이 합성기입니다. CPU 사용량은 여러 디스플레이에 걸쳐 앱 표면을 합치는 데 필요한 작업량을 반영하지만, 프로세스 이름만으로는 반복 다시 그리기를 유발하는 앱을 알 수 없습니다. 애니메이션, 화면 공유, 디스플레이 변경 중의 높은 수치는 정상일 수 있습니다. 의미 있는 신호는 유휴 상태에서의 지속 부하와 함께 반응성, 발열, 배터리 수명에 미치는 측정 가능한 영향입니다.

## WindowServer란 무엇인가

WindowServer는 macOS 합성기입니다. 보이는 모든 창, 메뉴, 애니메이션, 픽셀은 모든 디스플레이에 걸쳐 이 프로세스가 그리고 합칩니다. 화면에 있는 모든 것에 관여하기 때문에, 무거운 그래픽 작업은 원인 앱이 아니라 WindowServer CPU로 나타납니다. 그래서 실제로는 전달자인데 원인처럼 보이기 쉽습니다.

## 무엇이 사용량을 올리는가

WindowServer 부담을 키우는 요인은 대략 다음과 같습니다.

- **많은 창과 Spaces.** 수십 개의 열린 창과 여러 가상 데스크톱은 모두 추적하고 합성해야 합니다.
- **외장 및 고해상도 디스플레이.** 밀어내야 할 픽셀이 많고, 특히 4K나 5K 화면 또는 모니터를 여러 대 쓰면 기준 부하가 꾸준히 올라갑니다.
- **스케일된 해상도.** 디스플레이를 비네이티브 “~처럼 보이게” 해상도로 쓰면 더 큰 렌더 표면과 다운샘플링이 필요할 수 있습니다. 비용은 Mac, 디스플레이, 스케일 모드, 작업량에 따라 달라지며, Retina 스케일 자체는 정상입니다.
- **투명도와 모션.** 메뉴, Dock, Control Center의 블러와 반투명은 WindowServer가 계속 계산하는 실시간 효과입니다.
- **창이 많은 앱이 끊임없이 다시 그리는 경우.** 예를 들어 빠르게 출력하는 터미널, 백그라운드에서 애니메이션하는 페이지 등입니다.
- **캡처 및 원격 디스플레이 소프트웨어.** 화면 녹화, 화상 통화, AirPlay, 원격 데스크톱, 가상 디스플레이 도구는 캡처나 합성 작업을 더합니다.
- **높은 주사율과 움직이는 데스크톱.** 프레임이 많거나 픽셀이 계속 바뀌면, 창을 건드리지 않아도 작업량이 늘어납니다.

## 부담을 줄이는 방법

비용이 낮은 조치부터 순서대로 진행합니다.

- **투명도 줄이기:** **시스템 설정 > 손쉬운 사용 > 디스플레이**를 연 뒤 **투명도 줄이기**를 켭니다. Apple의
  [디스플레이 설정 가이드](https://support.apple.com/guide/mac-help/unac089/mac)
  가 시각적 변화를 설명합니다. 실시간 효과 작업을 줄일 수 있지만, 성능 수정으로 유지하기 전에 같은 장면으로 비교해 보세요.
- **모션 줄이기:** 이제는 **손쉬운 사용 > 모션** 패널이 따로 있습니다. Apple의
  [모션 가이드](https://support.apple.com/guide/mac-help/mchlc03f57a1/mac) 에 따르면
  앱 열기, 데스크톱 전환 같은 동작의 애니메이션이 바뀝니다.
- **기본 디스플레이 스케일** 또는 더 낮은 주사율을 시험한 뒤 같은 작업량으로 비교합니다. 모든 스케일이 나쁘다는 가정으로 읽기 쉬운 텍스트를 포기하지 마세요.
- **쓰지 않는 창을 닫고 Spaces를 줄이며**, 백그라운드에서 크게 다시 그리는 앱을 종료합니다.
- **화면 녹화, 원격 데스크톱, 애니메이션 배경화면, 가상 디스플레이**를 하나씩 멈춰 원인을 찾습니다.
- **디스플레이 하나를 분리**해 진단합니다. 기준 부하가 바뀌면 스케일, 주사율, 케이블, 어댑터를 따로 점검합니다.

증거를 모은 뒤에만 로그아웃했다가 다시 로그인합니다. 이렇게 하면 사용자 디스플레이 세션이 다시 시작됩니다. 재부팅은 다시 그리기 버그를 가릴 수 있고, 나중에 같은 증상을 다시 유발할 앱을 특정하지 못합니다.

순간 백분율만으로 판단하지 마세요. 활성 상태 보기에서 같은 유휴 장면을 몇 분 관찰하고, 애니메이션이나 캡처 작업을 한 번 재현한 뒤 의심 원인을 하나씩 제거합니다. WindowServer는 증상과 함께 봐야 합니다. 입력이 더 부드러워지고, 발열이 줄거나, 배터리 동작이 나아지는지가 기준입니다. 수치가 내려가도 체감이나 열 개선이 없다면 유용한 수정이 아닙니다.

## 내부 구조: 합성기, 그리고 스케일이 비용이 되는 이유

WindowServer는 합성기입니다. 각 앱은 자신의 오프스크린 버퍼, 즉 백킹 스토어에 그리고, 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/)의 Status 보기는 WindowServer, CPU, GPU 추세를 보여 주지만, 둘 다 합성 비용을 특정 앱에 자동으로 할당하지는 못합니다. 신뢰할 수 있는 방법은 통제된 격리입니다. 다시 그리기 원인 하나를 멈추거나 디스플레이 변수 하나를 바꾼 뒤, 유휴 및 작업 부하 기준선을 비교합니다.

## 반복 가능한 진단

유휴 상태와 문제 상황에서 WindowServer를 측정한 뒤, 애니메이션 콘텐츠, 캡처 도구, 디스플레이, 스케일, 주사율을 한 번에 하나씩 격리합니다. 지표와 사용자가 느끼는 증상이 모두 나아질 때만 그 변경을 유지합니다. WindowServer를 강제 종료하지 말고, 일반적인 Retina 스케일을 결함으로 다루지 마세요.

---

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