데스크톱 창 관리자 GPU 사용량 높음: 원인과 해결 방법
데스크톱 창 관리자(dwm.exe)가 GPU, CPU, 메모리를 쓰는 이유는 화면에 보이는 모든 창을 하나의 데스크톱 이미지로 그려 내기 때문입니다. 그래서 부하는 화면에 무엇이 있느냐에 따라 오르내립니다. 새로 고침 빈도, 디스플레이 수, HDR, 시각 효과, 그리고 무엇보다 쉬지 않고 다시 그리는 앱이 원인입니다. DWM의 GPU 사용량이 높은 건 대개 다른 앱이나 디스플레이 설정의 증상이지 DWM 자체의 결함이 아니며, 해결하려면 무엇이 DWM에 일을 밀어 넣고 있는지 찾아야 합니다.
DWM은 끌 수 없고, 작업 관리자에서 종료해도 도움이 되지 않습니다. 의미 있는 작업은 내 환경에서 측정해 보고, 한 번에 하나씩만 바꾸고, 그래픽 드라이버를 최신으로 유지하는 것입니다.
데스크톱 창 관리자가 하는 일
Microsoft의 데스크톱 창 관리자 개요가 동작 방식을 설명합니다. 창은 더 이상 화면에 직접 그리지 않습니다. 각 앱은 비디오 메모리의 화면 밖 표면에 그리고, DWM이 그 표면들을 합성해 디스플레이로 가는 데스크톱 이미지를 만듭니다. Microsoft는 합성 덕분에 가능한 것으로 시각 효과, 창 테두리, 창 전환 애니메이션, 고해상도 지원을 꼽습니다.
그래서 DWM은 항상 떠 있습니다. DwmEnableComposition 참조 문서에 따르면 이 함수는 Windows 8부터 더 이상 사용되지 않으며, DWM은 이제 프로그래밍 방식으로 끌 수 없고, 합성을 끄라는 호출은 아무 효과가 없습니다. Windows 10과 Windows 11에는 DWM 없이 돌아가는 지원되는 데스크톱이 없습니다.
작업 관리자에서 dwm.exe를 종료해도 부하를 만든 앱과 설정은 그대로라서 같은 숫자가 다시 나옵니다. DWM이 욕심을 부리는 것처럼 보이는 사용량은 사실 다른 모든 것이 그리는 내용을 합성하는 비용입니다.
GPU, CPU, 메모리가 올라가는 이유
픽셀, 프레임, 합칠 표면이 많을수록 합성 비용이 커집니다. 흔한 원인은 다음과 같습니다.
- 높은 새로 고침 빈도. 144 Hz에서는 DWM이 초당 60프레임이 아니라 최대 144프레임을 합성합니다. 그동안 화면에서 바뀌는 것이 있으면 그 빈도로 다시 합성해야 합니다.
- 여러 디스플레이, 또는 서로 다른 배율. 디스플레이마다 별도의 출력이고, 150% 배율의 노트북 화면 옆에 100% 외부 모니터가 있으면 창이 화면을 넘나들 때마다 배율이 다시 적용됩니다. 고해상도 외부 모니터는 매 프레임에 많은 픽셀을 더합니다.
- HDR. Microsoft의 HDR 설정 페이지에 따르면 배터리로 HDR 콘텐츠를 재생하면 배터리 수명이 줄 수 있고, 그래서 노트북은 전원을 뽑으면 HDR을 자동으로 끕니다. 데스크톱에서는 켜진 채로 있으니 테스트해 볼 만한 변수 하나가 더 있는 셈입니다.
- 투명 효과와 애니메이션 효과. 시작, 작업 표시줄, 일부 창 뒤의 아크릴 흐림은 뒤에 있는 내용이 바뀔 때마다 다시 계산해야 합니다.
- 쉬지 않고 다시 그리는 앱. 동영상을 재생하는 브라우저, 테두리 없는 창이나 창 모드의 게임, 화면 녹화나 스트리밍 도구, 게임이나 채팅 오버레이, 움직이는 배경 화면, 매 프레임 갱신하는 하드웨어 모니터는 모두 DWM에 새 내용을 계속 넘깁니다. 가장 흔한 원인이고, 백그라운드 탭에 일시 정지한 동영상이나 켜 둔 오버레이만 있어도 "아무것도 안 하는데" DWM이 바빠 보이는 이유이기도 합니다.
- 그래픽 드라이버. DWM의 작업은 GPU 드라이버를 거치므로 드라이버 버그가 DWM 이름으로 나타납니다. Intel은 지원 문서에서 한 사례를 기록했습니다. 6세대부터 10세대 Intel 프로세서에서 발생한 dwm.exe 메모리 증가로, Windows 10 드라이버 27.20.100.8587 이상에서 약 30 MB부터 시작해 시스템이 멈출 수 있을 때까지 쌓였습니다. Intel의 해결책은 Windows DCH 드라이버 30.0.101.1191 이상이며, Windows 업데이트가 다른 드라이버를 설치했다면 드라이버를 깨끗이 다시 설치한 뒤에 적용합니다. 오래된 Intel 드라이버를 쓰고 있고 DWM 메모리가 계속 늘기만 한다면 이것부터 확인하세요.
DWM의 메모리에는 합성하는 표면이 포함됩니다. 창이 많을수록, 디스플레이가 클수록, 배율이 높을수록 표면이 늘어나므로 다중 모니터 구성은 노트북 화면 하나보다 눈에 띄게 더 씁니다. 같은 창을 열어 둔 채 몇 시간 동안 꾸준히 늘어나는 것은 그렇지 않습니다.
먼저 작업 관리자에서 측정하기
Ctrl + Shift + Esc를 누릅니다. 프로세스 탭에서 데스크톱 창 관리자를 찾습니다. GPU 열이 없다면 아무 열 머리글이나 마우스 오른쪽 단추로 클릭하고 GPU와 GPU 엔진을 켭니다.
두 열은 함께 읽어야 합니다. Microsoft의 작업 관리자 GPU 글에 따르면 프로세스의 GPU 수치는 모든 GPU 중 가장 바쁜 엔진의 사용률이고, GPU 엔진 열은 그게 어느 GPU의 어떤 엔진인지 알려 줍니다(예: GPU 0 - 3D). 두 프로세스가 모두 높은 숫자를 보여도 서로 다른 엔진을 쓰고 있을 수 있으니, Video Decode 엔진을 쓰는 동영상 앱과 3D 엔진을 쓰는 DWM은 같은 자원을 두고 다투는 것이 아닙니다.
성능 탭에서는 왼쪽 패널에서 GPU를 하나씩 선택하면 엔진별 사용량과 전용 메모리, 공유 메모리의 추이를 볼 수 있습니다. 세부 정보 탭에서는 머리글을 마우스 오른쪽 단추로 클릭하고 열 선택을 고른 뒤 dwm.exe에 대한 GPU 사용률이나 전용, 공유 GPU 메모리를 추가합니다. 같은 글은 공유 메모리가 둘 이상의 프로세스에 중복으로 잡힐 수 있어서 프로세스별 합계가 GPU의 실제 사용량보다 커질 수 있다고 경고합니다. GPU 열은 WDDM 2.0 이상 드라이버가 있어야 나타납니다.
무엇이든 바꾸기 전에 세 가지를 적어 두세요. DWM이 어떤 엔진을 쓰는지, 숫자가 지금 하는 일을 따라 움직이는지, 메모리가 안정적인지 계속 오르는지입니다.
한 번에 하나씩 바꿔 원인 좁히기
하나를 바꾸고 1분 정도 DWM을 지켜본 뒤, 변화가 없으면 되돌립니다.
- 앱을 하나씩 닫습니다. 움직이는 것부터 시작하세요. 브라우저의 동영상, 게임, 녹화나 스트리밍 소프트웨어, 게임 런처의 오버레이, 채팅과 GPU 유틸리티, 움직이는 배경 화면입니다. 최소화만으로는 부족할 때가 있는데, 어떤 앱은 백그라운드에서도 계속 프레임을 내보내기 때문입니다. 어떤 앱을 닫았을 때 DWM이 떨어지면 그 앱이 원인이고, 그 앱의 설정(하드웨어 가속, 프레임 제한, 오버레이 켜기/끄기)을 살펴보면 됩니다.
- 디스플레이 하나를 분리합니다. 모니터 하나를 뽑았을 때 DWM이 안정되면 늘어난 해상도, 새로 고침 빈도, 또는 서로 다른 배율이 부하입니다. 확인한 뒤 다시 연결하세요. 이건 테스트이지 해결책이 아닙니다.
- 새로 고침 빈도를 낮춥니다. Microsoft의 새로 고침 빈도 안내는 설정 › 시스템 › 디스플레이 › 고급 디스플레이 › 새로 고침 빈도 선택을 사용합니다. 별표가 붙은 빈도는 해상도도 함께 바꿉니다. 지원하는 디스플레이라면 같은 페이지에 필요할 때만 빈도를 높이는 동적 새로 고침 빈도가 있고, Microsoft는 낮은 빈도가 배터리를 아낀다고 설명합니다. 비교한 뒤 원래대로 돌려 두세요.
- 투명 효과와 애니메이션을 끕니다. Microsoft의 시각 효과 안내대로 설정 › 접근성 › 시각 효과로 가면 투명 효과와 애니메이션 효과를 끌 수 있습니다. 표면은 불투명해지고 창 애니메이션도 멈춥니다. 두 스위치 모두 같은 방법으로 다시 켤 수 있습니다.
- 테스트로 HDR을 끕니다. 설정 › 시스템 › 디스플레이에서 디스플레이가 여러 개라면 위쪽에서 HDR 디스플레이를 고른 뒤 HDR 사용을 끄고 비교합니다.
확인해 볼 만한 그래픽 설정
Windows에는 프레임이 DWM에 도착하는 방식을 바꾸는 그래픽 옵션이 두 가지 있습니다. 둘 다 설정 › 시스템 › 디스플레이 › 그래픽에 있습니다.
창 게임에 대한 최적화. Microsoft의 창 게임 페이지에 따르면 기본 설정 아래의 이 스위치는 창 모드와 테두리 없는 창 모드에서 실행되는 호환 DirectX 10, DirectX 11 게임을 예전 blt 표시 모델에서 flip 모델로 옮겨 프레임 지연을 줄입니다. 이런 게임을 실행할 때 DWM이 바쁘다면 켜고 게임을 다시 시작해 보세요. 게임이 전용 전체 화면을 지원한다면 그쪽으로 바꿔 보는 것도 비교가 됩니다.
하드웨어 가속 GPU 예약. Microsoft의 DirectX 팀 설명에 따르면 이 옵션은 GPU 예약 작업의 상당 부분을 Windows에서 GPU 자체로 옮기며, GPU와 그 WDDM 2.7 이상 드라이버가 모두 지원할 때만 그래픽 설정에 나타납니다. DWM이 합성할 양을 줄여 주지는 않으니 A/B 테스트로 다루세요. 바꾸고, Windows가 요청하면 다시 시작하고, 같은 작업을 반복해서 내 하드웨어에서 더 잘 동작하는 쪽을 남기면 됩니다.
그래픽 드라이버 업데이트 또는 롤백
Microsoft의 드라이버 안내는 먼저 Windows 업데이트를 쓰고, 드라이버를 직접 내려받는다면 제조사 공식 사이트에서만 받으라고 권합니다. 그래픽이라면 PC 제조사의 지원 페이지(노트북은 맞춤 드라이버를 쓰는 경우가 많습니다)나 Intel, AMD, NVIDIA에서 직접 받는 것을 뜻합니다. 장치 관리자에서 디스플레이 어댑터를 펼치면 어떤 GPU가 있는지 볼 수 있습니다.
드라이버 업데이트 직후부터 DWM 문제가 생겼다면 롤백하세요. 장치 관리자에서 디스플레이 어댑터를 마우스 오른쪽 단추로 클릭하고 속성을 고른 뒤 드라이버 탭에서 드라이버 롤백을 선택하고, 요청하면 다시 시작합니다.
화면이 끊기거나, 검게 변하거나, 멈췄는데 Windows 자체는 반응한다면 Win + Ctrl + Shift + B를 누르세요. Microsoft의 바로 가기 키 목록은 이 키를 화면이 비어 있거나 검을 때 장치를 깨우는 것으로 설명합니다. 멈춘 화면을 위한 것이지, 계속 메모리가 새는 드라이버를 고치는 방법은 아닙니다.
하지 말아야 할 것
dwm.exe를 종료하지 마세요. 데스크톱을 그리는 Windows의 일부이고, 부하의 원인은 다른 곳에 있습니다.- DWM을 비활성화하려 하지 마세요. 서비스, 레지스트리, "debloat" 스크립트, 합성을 끈다고 주장하는 도구 모두 마찬가지입니다. Windows 8부터는 끌 수 없으므로 이런 조정은 잘해야 아무 효과가 없고, 나쁘면 데스크톱을 복구하기 어려운 상태로 남깁니다.
- 시스템 파일의 이름을 바꾸거나 교체하지 마세요.
dwm.exe나dwmcore.dll같은 파일입니다. - 포럼에서 본 GPU 우선순위나 예약 관련 레지스트리 조정을 따라 하지 마세요. 되돌릴 수 있는 설정의 스위치를 쓰세요.
- 출처를 모르는 사이트의 드라이버 정리 도구를 실행하지 마세요. Intel 문서처럼 제조사가 깨끗한 재설치를 요구한다면 그 제조사의 안내를 따르세요.
Mole이 도울 수 있는 부분
Mole for Windows는 디스플레이, HDR, 그래픽, 드라이버 설정을 바꾸지 않고 DWM도 건드리지 않습니다. 상태 페이지에는 CPU, 메모리, 디스크, 네트워크 활동과 함께 GPU 타일이 있어, 가장 바쁜 엔진의 사용량 추이, 드라이버가 보고하는 경우 비디오 메모리, 온도를 제공하는 드라이버에서는 GPU 온도를 보여 줍니다. 프로세스 목록은 소속 앱별로 묶어 각 앱의 CPU와 메모리를 보여 주지만 프로세스별 GPU 열은 없으니, 어떤 프로세스가 GPU를 쓰고 있는지는 작업 관리자의 GPU와 GPU 엔진 열에서 확인하세요. 나머지는 도움말의 상태 섹션에 있습니다.
도움이 되는 방법이 하나 있습니다. 앱을 하나씩 닫으면서 Mole의 GPU 타일을 지켜보면, 떨어지는 지점에서 어떤 앱이 DWM에 일을 넘기고 있었는지 알 수 있습니다. 대신 CPU가 오른다면 Windows의 높은 CPU 사용량을, 메모리라면 Windows의 높은 메모리 사용량을, 노트북이 뜨겁기까지 하다면 Windows 노트북 과열을 보세요.
자주 묻는 질문
dwm.exe는 바이러스인가요?
진짜 데스크톱 창 관리자는 Windows의 일부로, 보이는 모든 창을 합성합니다. 사용량이 높은 건 다른 앱이 무엇을 그리는지를 반영할 뿐 악성 코드가 아닙니다.
데스크톱 창 관리자를 끌 수 있나요?
아니요. Windows 8부터 DWM 합성은 끌 수 없고, 프로세스를 종료해도 Windows가 다시 실행할 뿐입니다. DWM을 계속 바쁘게 만드는 앱이나 디스플레이 설정을 찾아 부하를 줄이세요.
아무것도 열지 않았는데 데스크톱 창 관리자의 GPU 사용량이 높은 이유는 무엇인가요?
보통 무언가가 아직 그리고 있습니다. 일시 정지한 동영상 탭, 오버레이, 움직이는 배경 화면, 모니터링 위젯 같은 것입니다. 높은 새로 고침 빈도나 여러 디스플레이는 기본 사용량을 높입니다. 하나씩 닫으면서 GPU 열을 지켜보세요.
dwm.exe 메모리가 계속 늘어나는 이유는 무엇인가요?
창과 디스플레이가 늘면 어느 정도 늘어나는 것은 정상입니다. 같은 창을 열어 둔 채 몇 시간 동안 오른다면 드라이버 문제일 가능성이 큽니다. Intel은 이런 dwm.exe 누수 하나를 기록했고 드라이버 30.0.101.1191에서 고쳤습니다.