# Runtime Broker의 CPU나 메모리 사용량이 높을 때 해결 방법

Runtime Broker는 `RuntimeBroker.exe`라는 정상적인 Windows 프로세스로, Store 방식 앱과 그 앱이 사용하려는 Windows의 기능, 예를 들어 위치나 마이크 사이에 놓여 있습니다. 보통은 CPU를 거의 쓰지 않고 메모리도 적게 쓰며 유휴 상태로 있습니다. 둘 중 하나를 많이 쓴다면 원인은 거의 항상 계속 무언가를 요청하는 패키지 앱 하나이므로, 해결은 그 앱을 찾는 것입니다. Runtime Broker를 종료하는 것은 몇 분을 벌 뿐입니다.

## 정상적인 PC는 어떻게 보이나

Microsoft는 이 프로세스에 대해 공개적으로 거의 말하지 않으므로, 실제 Windows 11 PC에서 보이는 모습을 소개합니다. 테스트용 ThinkPad에서는 복사본 세 개가 실행 중이었고 모두 이런 모습이었습니다.

```text
C:\Windows\System32\RuntimeBroker.exe -Embedding
Started by: C:\Windows\system32\svchost.exe -k DcomLaunch -p
```

앱마다 자기 복사본을 가지므로 여러 개인 것은 정상입니다. 개수는 다를 수 있지만 경로와 부모 프로세스는 일치해야 합니다. 본인 PC의 목록은 다음으로 확인합니다.

```powershell
Get-CimInstance Win32_Process | Where-Object Name -eq 'RuntimeBroker.exe' | Select-Object ProcessId, ExecutablePath, CommandLine
```

## 뒤에 있는 앱 찾기

Windows에는 각 복사본 뒤의 앱을 알려 주는 열이 없으므로, 범위를 좁혀 가는 것이 현실적인 방법입니다.

1. `Ctrl + Shift + Esc`로 작업 관리자를 열고 **프로세스**를 **CPU** 또는 **메모리** 순으로 정렬합니다.
2. 사진, 휴대폰과 연결, 위젯, Teams, 메일처럼 패키지 앱이나 Microsoft Store의 앱을 하나씩 닫으면서 1분 안에 수치가 내려가는지 봅니다.
3. 수치가 내려가면 그 앱을 업데이트하거나 **설정 › 앱 › 설치된 앱 › (해당 앱) › 고급 옵션**에서 초기화합니다. 같은 페이지의 **종료**는 앱의 백그라운드 프로세스를 멈춥니다.
4. 아무것도 바뀌지 않으면 다시 시작하고, 수치가 다시 올라갈 때 어떤 앱이 열려 있었는지 지켜봅니다.

같은 **고급 옵션** 페이지에서, 옵션이 제공되는 경우 **백그라운드 앱 사용 권한**을 백그라운드에서 실행할 필요가 없는 앱에 대해 **안 함**으로 설정할 수 있습니다.

| 증상 | 보통 의미하는 것 | 시도할 것 |
| --- | --- | --- |
| 앱을 연 직후 잠깐 몇 퍼센트의 CPU | 정상적인 권한 확인 | 아무것도 하지 않음 |
| 앱 하나를 여는 동안 CPU가 계속 높음 | 그 앱이 반복해서 요청하는 중 | 업데이트, 초기화 또는 제거 |
| 몇 시간 동안 메모리가 기가바이트 단위로 계속 증가 | 복사본이나 그것이 돕는 앱의 누수 | 그 복사본을 종료한 뒤 위 방법으로 앱을 찾음 |
| 열린 앱이 없는데도 급증 | 위젯, 시작 메뉴 또는 팁 | 아래를 참고 |

## 자주 언급되는 설정

Runtime Broker의 CPU를 Windows 팁과 연결짓는 보고가 많습니다. 위 방법이 모두 도움이 되지 않았다면 **설정 › 시스템 › 알림 › 추가 설정 › Windows를 사용할 때 팁 및 제안 사항 가져오기**를 끄세요. Microsoft는 이 연관성을 문서화하지 않았으며, 입증된 원인이 아니라 흔한 보고입니다. 시도해도 비용이 들지 않고, 도움이 되었는지는 하루 안에 알 수 있습니다.

## 바이러스인가

진짜 파일은 `C:\Windows\System32`에 있고 Microsoft가 서명합니다. 다른 곳에서 실행되는 복사본, 이름이 조금 다른 것, `svchost.exe`가 아닌 다른 것이 시작한 복사본은 Microsoft Defender로 검사할 만합니다. 경로는 위의 PowerShell 한 줄로 확인하세요.

## 하지 말아야 할 것

- `RuntimeBroker.exe`를 삭제하거나, 차단하려고 소유권을 가져오지 마세요. 이에 의존하는 앱이 실패하고, Windows는 없는 파일을 손상으로 취급합니다.
- 포럼 글에 나오는 레지스트리 편집으로 비활성화하지 마세요. Store 앱에 필요하며, 앱을 찾지도 못한 채 증상만 잃습니다.
- 계속 반복해서 종료하지 마세요. 복사본 하나를 종료하는 것은 그럭저럭 안전하지만, 그것이 돕던 앱이 오작동하거나 닫힐 수 있고, 필요하면 Windows가 다른 복사본을 시작합니다.
- 이를 이유로 "RAM 정리" 프로그램을 설치하지 마세요. 그런 도구는 메모리를 잠깐 디스크로 밀어낼 뿐이고 그만큼 디스크 작업이 늘어납니다.

## Mole은 어디에 쓰이나

Mole for Windows의 상태 페이지는 Runtime Broker를 세션당 한 행으로 묶으므로, 앱을 닫는 동안 합산된 CPU와 메모리를 지켜볼 수 있습니다. 행 메뉴의 **왜 실행 중인가요?**는 열었을 때 시점의 가장 무거운 복사본을 나열하므로 비교하려면 다시 열어야 하며, **실행 파일**과 이를 시작한 것을 보여 주므로 위에서 설명한 경로와 부모 프로세스를 빠르게 확인할 수 있습니다. Runtime Broker는 Windows 폴더에서 실행되므로 Mole은 이를 시스템으로 표시하고 **종료**나 **강제 종료**를 제공하지 않습니다. Mole은 앱 권한이나 팁을 관리하지 않습니다. 더 넓은 문제는 [Windows의 높은 CPU 사용량](/ko/windows/blog/windows-high-cpu-usage), [Windows의 높은 메모리 사용량](/ko/windows/blog/windows-high-memory-usage), [Store 자체의 프로세스인 wsappx](/ko/windows/blog/wsappx-high-cpu-windows)를 참고하세요.

## 자주 묻는 질문

### Runtime Broker란 무엇인가요?

Microsoft Store의 앱 같은 패키지 앱을 대신해 실행되는 Windows 프로세스로, 위치나 마이크 같은 것에 대한 요청을 처리합니다. 파일은 `C:\Windows\System32\RuntimeBroker.exe`입니다.

### Runtime Broker가 메모리를 많이 쓰는 이유는 무엇인가요?

대개 그것이 돕는 앱이 계속 무언가를 요청하거나, 오래 실행된 복사본에서 메모리가 누수된 것입니다. 그 복사본을 종료하는 것은 간단한 시험으로는 그럭저럭 안전합니다. 다시 올라가면 패키지 앱을 하나씩 닫아 원인이 되는 앱을 찾으세요.

### Runtime Broker를 종료해도 되나요?

멈춘 복사본 하나라면 네, 하지만 그것이 돕는 앱이 닫히거나 오작동할 수 있고 필요하면 Windows가 새 복사본을 시작합니다. 해결책이 아니라 시험입니다.

### Runtime Broker를 비활성화해도 되나요?

하지 마세요. Store 앱에 필요하며, 이를 해 준다는 레지스트리 편집은 앱을 고장 내고 원래 원인은 그대로 둡니다.

### Runtime Broker 프로세스가 여러 개인 이유는 무엇인가요?

앱마다 자기 복사본을 가지므로 동시에 여러 개인 것은 정상입니다. 이 글을 확인할 때 유휴 상태의 테스트 노트북에서는 세 개가 실행 중이었습니다.


Canonical: https://mole.fit/ko/windows/blog/runtime-broker-high-cpu-memory
