Windows 프로세스 설명: svchost, Runtime Broker 등
작업 관리자에서 불안해 보이는 Windows 프로세스는 대부분 Windows의 정상적인 구성 요소입니다. System, 시스템 인터럽트, 서비스 호스트, Runtime Broker, 클라이언트 서버 런타임 프로세스 등은 저마다 할 일이 있고, 이 중 하나의 CPU 사용률이 높다면 보통 그 아래에서 드라이버, 서비스, 업데이트 같은 작업이 돌고 있다는 뜻입니다. 무언가를 끝내기 전에 그 작업이 무엇인지 먼저 확인하세요. 이 프로세스 중 몇몇은 안전하게 끝낼 수 없고, 나머지는 끝내도 저절로 다시 살아나기 때문입니다.
아래에서는 자주 보이는 이름이 각각 무엇인지, 정품 파일이 어디에 있는지, 왜 바빠지는지, 어떻게 확인하는지 정리했습니다. 위치와 파일 설명은 현재 Windows 11 설치본에서 가져왔습니다. 내 PC에서는 작업 관리자에서 행을 마우스 오른쪽 버튼으로 클릭하고 파일 위치 열기를 선택해 비교해 보세요.
한눈에 보기
| 작업 관리자의 이름 | 파일 | 무엇인가 | 끝내도 되나 |
|---|---|---|---|
| System | C:\Windows\System32\ntoskrnl.exe("NT Kernel & System") |
Windows 커널, 프로세스 ID 4 | 아니요 |
| 시스템 인터럽트(System interrupts) | 없음 | 하드웨어 인터럽트를 처리하는 데 쓰인 시간 | 끝낼 수 있는 프로세스가 아님 |
| 메모리 압축(Memory Compression) | 없음 | RAM에 남겨 둔 압축된 메모리 페이지 | 아니요 |
| 서비스 호스트: …(Service Host) | C:\Windows\System32\svchost.exe |
Windows 서비스 하나 이상을 담는 컨테이너 | 아니요, 안의 서비스를 찾아야 함 |
| Runtime Broker | C:\Windows\System32\RuntimeBroker.exe |
Microsoft Store 앱의 권한을 중개 | 예, 메모리 사용량이 높을 때 Microsoft도 권장 |
| Windows 탐색기(Windows Explorer) | C:\Windows\explorer.exe |
작업 표시줄, 시작, 바탕 화면, 파일 탐색기 | 작업 끝내기 대신 다시 시작 사용 |
| 데스크톱 창 관리자(Desktop Window Manager) | C:\Windows\System32\dwm.exe |
모든 창을 화면에 그림 | 아니요 |
| 클라이언트 서버 런타임 프로세스(Client Server Runtime Process) | C:\Windows\System32\csrss.exe |
Windows 사용자 모드의 핵심 부분 | 아니요 |
| Windows 시작 응용 프로그램 / Windows 로그온 응용 프로그램 | C:\Windows\System32의 wininit.exe / winlogon.exe |
시작과 로그인 | 아니요 |
| Windows 작업에 대한 호스트 프로세스(Host Process for Windows Tasks) | C:\Windows\System32\taskhostw.exe |
Windows 작업을 실행 | 그대로 둘 것 |
System, 시스템 인터럽트, 메모리 압축
System은 Windows 커널입니다. 프로세스 ID는 항상 4이고, 파일인 ntoskrnl.exe는 속성 › 자세히에서 자신을 "NT Kernel & System"이라고 설명합니다. 여기서 CPU 사용률이 높다는 것은 커널 수준의 작업이 바쁘다는 뜻일 뿐 어느 부분인지는 알려 주지 않으므로, 드라이버와 대기 중인 업데이트부터 살펴봅니다. Microsoft의 드라이버 업데이트 가이드에 따르면 드라이버 업데이트는 Windows 업데이트로 받는 것이 가장 좋고, 최근 드라이버 때문에 상황이 나빠졌다면 장치 관리자 › 해당 장치의 속성 › 드라이버 › 드라이버 롤백으로 되돌릴 수 있습니다(관리자 권한 필요).
시스템 인터럽트는 프로그램이 아니며 파일도 없습니다. 프로세서가 하드웨어에 응답하는 데 쓴 시간입니다. Microsoft의 CPU 분석 가이드가 원리를 설명합니다. 네트워크 카드 같은 장치가 인터럽트를 발생시키면 Windows는 인터럽트 서비스 루틴(ISR)을 실행하고, ISR은 보통 나머지 작업을 지연 프로시저 호출(DPC)로 예약하며, 프로세서가 DPC와 ISR을 실행하는 동안에는 그 프로세서에서 어떤 스레드도 실행될 수 없습니다. 인터럽트 시간이 많으면 소리가 지직거리거나 화면이 끊기는 것도 이 때문입니다. 하드웨어를 쓰는 동안에는 인터럽트 시간이 늘 어느 정도 있지만, 유휴 상태의 PC에서 높은 수치가 계속된다면 드라이버나 장치를 의심해야 합니다.
어느 것인지 찾으려면 관리자 명령 프롬프트에서 추적을 기록합니다. WPR 명령 참조에 -start와 -stop이 설명되어 있고, 기본 제공 GeneralProfile에는 DPC와 인터럽트 이벤트가 포함되어 있습니다:
wpr -start GeneralProfile
wpr -stop C:\Temp\interrupts.etl
첫 줄을 실행하고 시스템 인터럽트가 높은 동안 잠시 기다린 뒤 둘째 줄을 실행합니다. 저장할 폴더는 미리 있어야 합니다. 이 파일을 Windows Performance Analyzer에서 열고 DPC/ISR 그래프를 보면, Module 열에 바쁜 루틴이 들어 있는 드라이버 파일 이름이 나옵니다. 도구 없이 하는 더 간단한 방법도 있습니다. USB 장치와 도크를 하나씩 뽑으면서 수치를 지켜보세요.
메모리 압축은 자주 쓰지 않는 메모리 페이지를 페이지 파일에 쓰는 대신 압축된 형태로 RAM에 남겨 둡니다. Microsoft는 Windows 10에서 압축 저장소를 도입하면서 이 저장소가 바로 다른 프로그램을 위해 메모리를 확보할 때 커진다고 설명했고, 그래서 크게 보일 수 있습니다. 수치가 큰 것은 다른 프로그램이 일으킨 메모리 압박의 결과이지 원인이 아닙니다. 실제로 무엇이 메모리를 쓰는지는 Windows 메모리 사용량이 높을 때를 참고하세요.
서비스 호스트(svchost.exe): 안에 든 서비스 찾기
Microsoft의 서비스 호스트 문서는 svchost.exe를 DLL 파일에서 서비스를 불러오는 공유 서비스 프로세스로 설명합니다. Windows 10 버전 1703부터는 RAM이 3.5 GB를 넘는 PC에서 대부분의 서비스가 각자 별도의 서비스 호스트 프로세스에서 실행되기 때문에, 작업 관리자에 수십 개가 보이고 각 행에는 "서비스 호스트: Windows Update"처럼 담고 있는 서비스 이름이 붙습니다. Windows 방화벽과 함께 묶이는 Base Filtering Engine처럼 여전히 그룹으로 남는 서비스도 있습니다.
그래서 "svchost CPU 사용률이 높다"에는 정해진 답이 없고, 바쁜 쪽은 서비스입니다. 이름을 알아내는 방법은 세 가지입니다:
- 작업 관리자의 프로세스 화면에서 바쁜 서비스 호스트 행을 펼칩니다. 안에 든 서비스가 그 아래에 표시됩니다.
- 행을 마우스 오른쪽 버튼으로 클릭하고 세부 정보로 이동을 선택해 PID를 확인한 다음, 서비스 페이지(Windows 10에서는 탭)를 엽니다. 모든 서비스가 실행 중인 PID와 함께 나옵니다.
- 명령 프롬프트에서 tasklist를 사용합니다.
/svc는 각 프로세스 안의 서비스를 보여 줍니다:
tasklist /svc /fi "IMAGENAME eq svchost.exe"
tasklist /svc /fi "PID eq 1234"
1234는 작업 관리자에서 확인한 PID로 바꾸세요. 그다음에는 호스트가 아니라 서비스를 다룹니다. 설치를 마무리하는 Windows 업데이트와 Store 앱을 배포하는 wsappx는 각각 해결 방법이 다릅니다. 서비스 호스트를 끝내면 안에 든 서비스가 한꺼번에 모두 멈추고, 정작 서비스에 일을 시킨 쪽은 멈추지 않습니다.
Runtime Broker, Windows 탐색기, 데스크톱 창 관리자
Runtime Broker(RuntimeBroker.exe)는 사용자 세션에서 실행되며, Microsoft의 Runtime Broker 문서에 따르면 Microsoft Store 앱의 PC 내 권한을 관리합니다. 평소에는 몇 MB만 씁니다. Microsoft가 직접 제시한 기준은 메모리의 15% 이상을 쓰면 앱이 오작동하고 있을 가능성이 높다는 것이고, 권장 해결책은 Runtime Broker 작업을 끝내고 PC를 다시 시작하는 것입니다.
Windows 탐색기(explorer.exe, C:\Windows 바로 아래)는 파일 탐색기 창만이 아니라 작업 표시줄, 시작, 바탕 화면도 그립니다. 응답이 없거나 화면이 검게 변하면, Microsoft의 빈 화면 문제 해결 가이드는 Ctrl + Shift + Esc로 작업 관리자를 열고 Windows 탐색기를 마우스 오른쪽 버튼으로 클릭해 다시 시작을 선택하라고 안내합니다. 목록에 없으면 파일 › 새 작업 실행을 사용하고 explorer.exe를 입력합니다.
데스크톱 창 관리자(dwm.exe)는 모든 창을 합성해 화면에 보이는 한 장의 이미지로 만듭니다. Microsoft의 DWM 개요는 창이 화면 밖 표면에 그려지고 DWM이 그것을 디스플레이에 렌더링하는 과정을 설명합니다. 작업량은 화면에 보이는 내용을 따라갑니다. 끝내지 말고, 무엇을 확인해야 하는지는 데스크톱 창 관리자 GPU 사용량이 높을 때를 참고하세요.
csrss, wininit, winlogon, taskhostw
클라이언트 서버 런타임 프로세스(csrss.exe)는 Microsoft 디버깅 문서의 표현을 빌리면 Windows 환경의 기반 계층을 제어하는 사용자 모드 프로세스이고, Windows 10부터는 보호된 프로세스입니다. 세션마다 하나씩 있으므로 두 개 이상 보여도 정상입니다. CPU 사용률은 거의 0이어야 하며, 조정할 것도 끝낼 이유도 없습니다.
wininit.exe(파일 설명 "Windows 시작 응용 프로그램")와 winlogon.exe("Windows 로그온 응용 프로그램")는 시작과 로그인을 담당합니다. Microsoft의 Winlogon 페이지에 따르면 Winlogon은 창 스테이션의 데스크톱을 만들고 시간 제한 작업을 구현하며, 보안 화면으로 가기 위해 누르는 Ctrl + Alt + Delete, 즉 보안 주의 시퀀스를 등록합니다. 둘 다 거의 항상 유휴 상태여야 합니다. 그대로 두세요.
Windows 작업에 대한 호스트 프로세스(taskhostw.exe)는 Windows의 작업을 실행하며, Microsoft는 이 프로세스만 다루는 페이지를 따로 공개하지 않았습니다. 계속 바쁘다면 작업 스케줄러(작업 스케줄러 라이브러리 › Microsoft › Windows)에서 어떤 작업이 실행 중인지 확인하고, 호스트를 끝내지 말고 작업이 끝나도록 두세요. C:\Windows\System32 밖에 있는 taskhostw.exe는 다른 문제이며 아래에서 다룹니다.
바쁜 데는 이유가 있다: Defender, 업데이트, 검색, Store 앱
다음 네 가지는 보통 실제로 일을 하는 중이고 끝나면 알아서 잦아듭니다. 각각 자세한 가이드가 있습니다:
- Antimalware Service Executable(
MsMpEng.exe,C:\ProgramData\Microsoft\Windows Defender\Platform\<version>\아래)은 Microsoft Defender의 검사입니다. Antimalware Service Executable CPU 사용률이 높을 때를 참고하세요. - Windows Modules Installer Worker(
TiWorker.exe,C:\Windows\WinSxS아래의 서비스 스택 폴더)는 Windows Modules Installer 서비스(C:\Windows\servicing\TrustedInstaller.exe)를 대신해 업데이트 작업을 합니다. Windows Modules Installer Worker CPU 사용률이 높을 때를 참고하세요. - Microsoft Windows Search Indexer(
C:\Windows\System32\SearchIndexer.exe)는 검색 색인을 만듭니다. Windows Search Indexer CPU 사용률이 높을 때를 참고하세요. - wsappx는 Store 앱 배포와 라이선스를 맡는 서비스 호스트입니다. wsappx CPU 사용률이 높을 때를 참고하세요.
가짜 시스템 프로세스 가려내기
악성 코드는 가끔 시스템 프로세스의 이름을 빌려 씁니다. 이름은 아무것도 증명하지 못하고, 증거가 되는 것은 위치와 서명입니다.
- 작업 관리자에서 프로세스를 마우스 오른쪽 버튼으로 클릭하고 파일 위치 열기를 선택합니다.
svchost.exe,csrss.exe,RuntimeBroker.exe,taskhostw.exe가 사용자 폴더,AppData,ProgramData,Temp에서 실행되고 있다면 Windows 파일이 아닙니다.scvhost.exe처럼 한 글자만 다른 철자도 조심하세요. - 파일을 마우스 오른쪽 버튼으로 클릭 › 속성 › 자세히. 정품 파일에는 Microsoft Corporation과 위 표에 있는 설명이 표시됩니다.
- 서명을 확인합니다. 대부분의 Windows 파일은 파일 안이 아니라 Windows 카탈로그를 통해 서명되므로 속성에 디지털 서명 탭이 없습니다. 탭이 없다고 해서 위험 신호는 아닙니다. Get-AuthenticodeSignature는 카탈로그 서명도 읽을 수 있으니, 찾은 경로를 지정하세요:
Get-AuthenticodeSignature C:\Windows\System32\svchost.exe | Format-List Status, SignatureType, SignerCertificate
정품 파일은 Valid로 나오고, 유형은 대개 Catalog이며 인증서는 Microsoft Windows의 것입니다. 폴더 전체를 확인하려면 Microsoft의 Sigcheck에서 sigcheck -u -e c:\windows\system32로 서명되지 않은 파일을 나열할 수 있고, Microsoft는 서명되지 않은 파일은 모두 조사하라고 권합니다.
조금이라도 이상해 보이면 검사하세요. Microsoft의 Windows 보안 가이드에 따르면 검사 옵션은 바이러스 및 위협 방지 아래에 있습니다. Microsoft Defender 바이러스 백신(오프라인 검사)은 PC를 다시 시작해 Windows가 로드되기 전에 검사하므로 끈질긴 악성 코드도 숨기 어렵고, 결과는 보호 기록에 나타납니다. 의심스러운 파일이 실행 중일 때 손으로 지우지 말고, 이름이 이상해 보인다는 이유만으로 C:\Windows\System32의 파일을 지우는 일은 절대 하지 마세요.
Mole이 하는 일
Mole의 상태 페이지는 프로세스를 소유한 앱별로 묶고 그룹마다 CPU와 메모리를 합산하므로, 반복되는 도우미 프로세스도 한 행으로 합쳐집니다. 행의 메뉴에서 왜 실행 중인가요?를 선택하면 실행 파일 경로가 표시되고, 서비스 호스트 행에서는 호스팅하는 Windows 서비스가 바쁜 순서대로 나옵니다. 파일 탐색기에서 보기는 파일이 있는 폴더를 열어 주므로 위에서 설명한 위치 확인에 쓸 수 있습니다. Windows 서비스, Windows 폴더에서 실행되는 항목, System 프로세스 자체에 대해서는 Mole이 종료나 강제 종료를 제공하지 않고 해당 행을 시스템으로 표시합니다. 도움말 페이지에 적힌 대로, 시스템 프로세스와 다른 앱과 공유하는 프로세스는 그대로 두세요.
Mole은 드라이버, 서비스, Defender 설정을 바꾸지 않으며 악성 코드를 탐지하지도 않습니다. 일반 앱 때문에 CPU 사용률이 높다면 Windows CPU 사용률이 높을 때를 참고하세요.
자주 묻는 질문
svchost.exe가 CPU를 왜 이렇게 많이 쓰나요?
서비스 호스트는 서비스를 담고 있을 뿐이고, 바쁜 것은 그중 하나입니다. 작업 관리자에서 행을 펼치거나 tasklist /svc를 실행해 서비스를 찾은 다음, Windows 업데이트나 Store 앱 설치처럼 그 서비스를 다루세요.
시스템 인터럽트는 무엇이고 끌 수 있나요?
Windows가 하드웨어 인터럽트와 그에 따른 지연 작업을 처리하는 데 쓰는 시간이며 프로그램이 아니므로 끌 대상이 없습니다. 계속 높다면 드라이버나 장치가 원인입니다. 드라이버를 업데이트하거나 롤백하거나, 추적을 기록해 어느 드라이버 모듈이 바쁜지 확인하세요.
Runtime Broker는 무엇이고 끝내도 안전한가요?
Microsoft Store 앱의 권한을 관리합니다. Microsoft는 메모리의 15% 이상을 쓰면 작업 관리자에서 작업을 끝내고 PC를 다시 시작해도 된다고 설명합니다.
Windows 프로세스가 바이러스인지 어떻게 알 수 있나요?
파일 위치와 서명한 주체를 확인하세요. 정품 핵심 프로세스는 C:\Windows 또는 C:\Windows\System32에서 실행되고 유효한 Microsoft 서명(대개 카탈로그 서명)을 갖고 있습니다. 위치나 서명이 맞지 않으면 Microsoft Defender 오프라인 검사를 실행하세요.