용어집/자주 보이는 프로세스

WindowServer

간단한 답

WindowServer는 윈도우를 관리하고, 앱이 그린 내용을 합성해 디스플레이에 표시되는 최종 화면을 만들고, 클릭이나 키 입력 같은 입력 이벤트를 알맞은 앱에 전달하는 macOS 시스템 프로세스입니다.

화면에 보이는 모든 것은 WindowServer를 거칩니다. 앱은 각자 자기 윈도우를 그리고, WindowServer는 이를 메뉴 막대, Dock, 그림자, 투명 효과, 애니메이션과 합친 뒤 결과를 각 디스플레이로 보냅니다.

다른 앱을 대신해 일하기 때문에 CPU와 GPU 사용량은 화면에 무엇이 있느냐에 따라 오르내립니다. 윈도우를 움직이거나, 동영상을 보거나, 큰 외장 디스플레이를 쓰는 동안 WindowServer가 CPU 목록 위쪽에 보이는 것은 정상입니다.

WindowServer가 CPU를 많이 쓰는 이유

그릴 것이 많을수록 WindowServer는 더 바빠집니다. 흔한 원인은 많이 열린 윈도우, 여러 대의 디스플레이나 고해상도 디스플레이, 조정된 해상도 모드, 투명 효과 같은 시각 효과, 그리고 화면을 계속 다시 그리는 앱(애니메이션이 있는 웹 페이지, 동영상, 게임)입니다.

윈도우를 계속 갱신하는 앱 하나만으로도, 그 앱 자체의 CPU 사용량은 크지 않은데 WindowServer가 바빠질 수 있습니다. 화면이 멈춰 있는 것처럼 보이는데도 WindowServer가 높게 유지된다면, 대개 어떤 앱이 백그라운드에서 무언가를 다시 그리고 있는 것입니다.

낮추는 방법

필요 없는 윈도우와 브라우저 탭을 닫고, 백그라운드에서 애니메이션을 돌리거나 동영상을 재생하는 앱을 종료하세요. 그런 다음 WindowServer가 줄어드는지 지켜봅니다.

외장 디스플레이를 쓴다면 하나를 분리해서 그 디스플레이가 부하의 얼마를 차지하는지 확인해 보세요. 시스템 설정 > 손쉬운 사용 > 디스플레이에서 투명도 줄이기나 동작 줄이기를 켜도 그리는 작업이 줄어들 수 있습니다.

WindowServer를 강제 종료해야 할까요?

아닙니다. WindowServer는 그래픽 세션 전체를 실행합니다. 이것이 멈추면 화면의 모든 앱이 함께 닫히고 로그인 윈도우로 돌아가며, 저장하지 않은 작업을 잃을 수 있습니다. 대신 그려야 할 것을 줄이세요.

어떤 앱이 WindowServer를 바쁘게 하는지 보는 방법

그리는 일은 WindowServer가 하지만, 대개 다른 앱이 요청합니다. 활성 상태 보기는 둘을 직접 연결해 보여 주지 않으므로, 하나씩 지워 가며 앱을 찾아야 합니다.

  1. 활성 상태 보기를 열고 CPU 탭을 클릭한 다음 WindowServer를 찾습니다. 오른쪽 위의 검색 필드에 이름을 입력해도 됩니다.
  2. % CPU를 확인해 둔 다음, 검색을 지우고 보기 > 윈도우가 열려 있는 프로세스를 선택합니다. 윈도우를 만들 수 있는 프로세스만 나열됩니다.
  3. % CPU로 정렬합니다. 쓰고 있지 않은데도 계속 바쁜 앱이 유력한 용의자입니다.
  4. 그 앱을 종료하거나 윈도우를 닫고, 1분 동안 WindowServer를 지켜봅니다. 줄어든다면 원인을 찾은 것입니다.
  5. 눈에 띄는 것이 없다면 브라우저, 동영상 플레이어, 애니메이션이 있는 앱부터 시작해 WindowServer가 잠잠해질 때까지 앱을 하나씩 가리거나 종료하세요.

WindowServer가 메모리를 많이 쓰는 이유

윈도우를 하나의 화면으로 합치기 위해 WindowServer는 각 윈도우가 보여 주는 내용의 이미지를 보관합니다. 윈도우가 크거나 많을수록, 디스플레이 해상도가 높을수록 보관할 이미지 데이터가 늘어나므로, 메모리는 사용 환경에 따라 커집니다.

윈도우를 더 열지 않았는데 WindowServer의 메모리가 며칠에 걸쳐 계속 올라간다면, 로그아웃했다가 다시 로그인하거나 Mac을 재시동하세요. 어느 쪽이든 WindowServer가 새로 시작됩니다. 로그아웃하면 앱이 닫히므로 먼저 작업을 저장하세요.

정상적인 WindowServer 사용량과 문제 상황

정상: 윈도우를 드래그하거나, Spaces를 전환하거나, 스크롤하거나, 동영상을 재생하거나, 디스플레이를 연결할 때 올라가고, 화면이 멈춰 있으면 내려갑니다. 화면에 띄운 것이 많은 Mac이라면 어디서든 바쁜 편에 속하는 시스템 프로세스입니다.

살펴볼 만한 경우: 화면에서 움직이는 것이 없는데도 WindowServer가 계속 바쁘거나, 포인터가 끊기거나, 애니메이션이 뚝뚝 끊깁니다. 대개 어떤 앱이 계속 다시 그리고 있거나 디스플레이 구성이 많은 일을 요구하고 있다는 뜻입니다.

  • 백그라운드에서 애니메이션이나 동영상이 재생되는 브라우저 탭.
  • 여러 대의 외장 디스플레이, 또는 디스플레이 기본값이 아닌 조정된 해상도.
  • 여러 Spaces에 걸쳐 열린 많은 윈도우.
  • 켜져 있는 투명 효과와 동작 효과.
  • 차트, 게임, 화면 녹화 앱처럼 1초에 여러 번 윈도우를 갱신하는 앱.

WindowServer의 GPU 사용량을 확인하는 방법

WindowServer가 그리는 작업의 상당 부분은 그래픽 프로세서에서 이루어지므로, CPU 수치는 일부만 보여 줍니다. 활성 상태 보기의 CPU 탭에서 보기 > 열을 선택하고 % GPU를 켜면 WindowServer를 포함해 각 프로세스가 GPU 시간을 얼마나 쓰는지 볼 수 있습니다.

윈도우 > GPU 기록을 선택하면 최근 GPU 활동 그래프가 보입니다. 화면이 멈춰 있는데도 그래프가 계속 바쁘다면 무언가 아직 그리고 있는 것이며, 위의 소거 단계로 찾을 수 있습니다.

자주 묻는 질문

Mac의 WindowServer, 무엇인가요?

윈도우를 관리하고, 앱이 그린 모든 것을 합쳐 디스플레이에 표시하며, 클릭과 키 입력을 앱에 전달하는 macOS 프로세스입니다. 사용자가 설치한 것이 아니라 macOS의 일부입니다.

외장 모니터를 연결하면 WindowServer의 CPU 사용량이 늘어나는 이유는 무엇인가요?

디스플레이마다 WindowServer가 합성해야 하는 픽셀이 늘어납니다. 고해상도와 조정된 해상도 모드는 일을 더 늘리므로, 화면을 하나 연결할 때마다 부하가 올라갑니다.

WindowServer를 종료할 수 있나요?

그러면 안 됩니다. 종료하면 그래픽 세션이 끝나고 로그아웃되며, 열려 있던 앱이 모두 닫힙니다.

WindowServer는 바이러스인가요?

아닙니다. WindowServer는 macOS의 일부입니다. 활성 상태 보기에서는 사용자 계정이 아니라 시스템 사용자 _windowserver로 실행됩니다.

WindowServer가 메모리를 많이 쓰는 이유는 무엇인가요?

화면에 보이는 모습으로 합치기 위해 모든 윈도우의 이미지를 보관하기 때문입니다. 윈도우가 많을수록, 클수록, 디스플레이 해상도가 높을수록 늘어납니다.

윈도우를 닫으면 WindowServer의 CPU 사용량이 줄어드나요?

대개 그렇습니다. 윈도우가 적고 화면의 움직임이 적을수록 그릴 것이 줄어듭니다. 애니메이션이 있거나 동영상을 재생하는 윈도우를 닫는 것이 가장 효과가 큽니다.

관련 항목

단계별 안내: CPU나 메모리를 쓰는 앱 찾기.

활성 상태 보기보다 나은 것을 찾고 있나요? Mac용 활성 상태 보기 대체 앱 추천을 확인하거나 용어집의 모든 용어를 둘러보세요.