# Windows에서 wsappx가 CPU를 많이 쓸 때 무엇을 실행하고 언제 멈추나

wsappx는 바이러스가 아니고, 설치한 프로그램도 아닙니다. Microsoft Store의 배포와 라이선스 서비스를 실행하는 서비스 호스트에 Windows가 붙인 이름입니다. CPU나 디스크를 많이 쓸 때 흔한 이유는 Store가 백그라운드에서 앱을 설치, 업데이트, 제거하고 있기 때문이며, 그 일이 끝나면 부하가 떨어집니다. 쓸모 있는 질문은 어느 서비스가 바쁜지, 무엇을 설치하는지, 그 일이 끝나는지입니다.

## wsappx가 호스트하는 것

여기서 중요한 서비스는 두 개입니다. Microsoft의 [서비스 참고](https://learn.microsoft.com/en-us/windows-server/security/windows-services/security-guidelines-for-disabling-system-services-in-windows-server)가 둘을 설명합니다.

| 서비스 | 서비스 이름 | Microsoft가 하는 일이라고 하는 것 | 시작 유형 |
| --- | --- | --- | --- |
| AppX Deployment Service | `AppXSvc` | Store 응용 프로그램 배포를 위한 인프라 지원 | 수동 |
| Client License Service | `ClipSVC` | Microsoft Store를 위한 인프라 지원 | 수동 |

수동은 필요할 때 시작한다는 뜻입니다. 유휴 PC에서 하루 종일 바빠서는 안 됩니다. Store 작업이 있을 때 깨어납니다. 앱을 설치하거나 업데이트하거나, Store 앱을 제거하거나, Store에서 산 앱의 라이선스를 확인할 때입니다. 패키지를 배포하면 파일을 디스크에 쓰므로, 같은 일이 CPU뿐 아니라 디스크 활동으로도 나타날 수 있습니다.

## 어느 서비스가 바쁜지 확인합니다

`Ctrl + Shift + Esc`로 작업 관리자를 열고 프로세스 탭을 CPU로 정렬한 뒤 시각을 적습니다. 바쁜 항목이 wsappx의 서비스 호스트이면, 세부 정보 탭에서 프로세스 ID를 찾습니다(그 PID의 `svchost.exe` 행). 그다음 서비스 탭을 보면 각 서비스와 그것을 실행하는 PID가 나옵니다.

[tasklist 명령](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/tasklist)은 같은 질문에 한 단계로 답할 수 있습니다. 명령 프롬프트에서:

```cmd
tasklist /svc /fi "SERVICES eq AppXSvc"
tasklist /svc /fi "SERVICES eq ClipSVC"
```

각 줄은 이미지 이름, PID, 그 프로세스의 서비스를 줍니다. PID를 작업 관리자에서 CPU를 쓰는 것과 비교합니다. `AppXSvc`와 맞으면 앱 패키지가 배포되거나 제거되는 중입니다. `ClipSVC`와 맞으면 Store 앱의 라이선스 작업입니다.

Mole의 상태 페이지는 같은 것을 다른 각도에서 보여 줍니다. 시스템 세션의 Windows 서비스 호스트는 하나의 프로세스 행으로 모이고, 행의 세부를 열면 호스트하는 서비스가 가장 바쁜 프로세스부터 나열되므로, 똑같은 `svchost.exe` 열이 아니라 `AppXSvc`나 `ClipSVC`가 이름으로 나타납니다. 그 행은 Windows 서비스에 속하므로 Mole은 종료를 제공하지 않습니다.

## Store가 무엇을 하는지 확인합니다

대부분의 wsappx 급증은 Store 업데이트와 맞습니다. Microsoft는 보안 패치를 최신으로 유지하려고 [앱 업데이트를 자동으로 만들고](https://support.microsoft.com/en-us/accounts-billing/get-updates-for-apps-and-games-in-microsoft-store) 있다고 하므로, Store를 열지 않아도 업데이트가 시작될 수 있습니다. Solitaire, To Do, Xbox 앱처럼 Windows와 함께 온 앱도 Store 패키지이므로, Store에서 아무것도 설치하지 않은 PC에서도 급증이 나타날 수 있습니다.

1. Microsoft Store를 엽니다.
2. 업데이트 확인을 선택하고 무엇을 받거나 설치하는지 봅니다.
3. 대기열이 끝나게 둔 뒤 몇 분 동안 wsappx를 다시 봅니다.

대기열이 비었을 때 CPU가 떨어지면 잘못된 것은 없습니다. 서비스가 일을 한 것입니다. 큰 앱 업데이트 뒤의 한 번 급증은 예상된 일입니다.

Store 앱 제거도 같은 서비스를 씁니다. Windows용 Mole이 Store 앱을 제거할 때 요청은 다른 제거와 같이 배포 서비스를 거치며, Windows는 이미 진행 중인 Store 설치나 업데이트 뒤에 그것을 대기열에 넣습니다. 그래서 앱 제거가 같은 wsappx 부하에 잠시 더해질 수 있습니다.

## 정말 원하면 자동 Store 업데이트를 끕니다

백그라운드 업데이트가 나쁜 타이밍에 계속 오면, 예를 들어 데이터 통신 연결이나 발표 중이면, Microsoft의 [자동 앱 업데이트 페이지](https://support.microsoft.com/en-US/Windows/Apps/turn-on-automatic-app-updates)에 스위치가 있습니다. Microsoft Store를 열고 프로필 사진을 선택한 뒤 Store 설정을 고르고 앱 업데이트를 바꿉니다. Microsoft는 앱 업데이트가 자동이 되고 있으며 필요할 때 일시 중지할 수 있다고도 하므로, Store 버전에 따라 끄기 스위치 대신 일시 중지 선택이 보일 수 있습니다.

이것은 지금의 CPU 급증을 나중의 오래된 앱과 바꿉니다. Store 앱은 이 업데이트로 보안 수정을 받습니다. 중간 길은 업데이트를 켜 두고, 맞는 시간에 직접 업데이트 확인을 선택해 PC를 쓰지 않을 때 일이 일어나게 하는 것입니다.

## 가라앉지 않을 때

Store에 보이는 것이 없는데 wsappx 프로세스가 몇 시간 동안 바쁜 것은 다른 패턴입니다. 다음을 봅니다.

- Store 다운로드 목록에서 같은 앱이 업데이트를 반복해서 다시 시도하는지.
- Store 오류나 멈춘 다운로드. [앱 업데이트 실패 안내](/ko/windows/blog/windows-app-update-failures)가 단계별로 안내합니다.
- C: 드라이브의 낮은 디스크 공간. 패키지 배포가 느려지거나 실패할 수 있습니다. [가득 찬 C: 드라이브 정리](/ko/windows/blog/windows-c-drive-full)가 그것을 다룹니다.

한 번에 하나만 바꾸고 같은 확인을 반복합니다. 멈춘 앱 하나가 끝나거나 제거된 뒤 wsappx가 가라앉으면 원인을 찾은 것입니다. CPU를 주인까지 따라가는 일반적인 방법은 [Windows의 높은 CPU 사용량](/ko/windows/blog/windows-high-cpu-usage)을 봅니다. 디스크가 100%에 고정돼 있으면 [디스크 사용량 100%](/ko/windows/blog/windows-disk-100-percent)가 활성 시간과 실제 처리량을 나눕니다.

<figure class="blog-diagram">
  <picture>
    <source media="(max-width: 900px)" srcset="/img/blog/windows-wsappx-high-cpu-windows-en-mobile.webp" type="image/webp" width="768" height="1500">
    <img src="/img/blog/windows-wsappx-high-cpu-windows-en.webp" width="1360" height="454" loading="lazy" alt="Store 서비스가 무엇을 하는지 확인합니다">
  </picture>
  <figcaption>프로세스를 확인하고, 서비스 이름을 밝히고, Store 대기열을 본 뒤, 끝난 다음에 다시 측정합니다.</figcaption>
</figure>

## 하지 말 것

- 서비스에서 `AppXSvc`나 `ClipSVC`를 끄거나, 레지스트리의 `Start` 값을 바꾸지 마세요. Microsoft의 설명은 분명합니다. 배포 서비스를 끄면 Store 응용 프로그램이 배포되지 않고 제대로 동작하지 않을 수 있습니다. 라이선스 서비스를 끄면 Store에서 산 앱이 올바르게 동작하지 않습니다.
- 숫자를 낮추려고 작업 관리자에서 wsappx 서비스 호스트를 끝내지 마세요. 설치나 업데이트가 중간에 멈추고, Store가 나중에 다시 시작합니다.
- 업데이트를 멈추려고 제거 스크립트로 기본 Store 앱을 걷어내지 마세요. Windows는 자신의 일부인 일부 패키지 제거를 거부하고, Windows용 Mole은 Microsoft Store, 앱 설치 관리자, Windows 보안을 앱 목록에서 빼 두므로 거기서 실수로 제거할 수 없습니다. 짧은 급증은 시스템을 분해할 이유가 아닙니다.
- 짧은 급증을 결함으로 보지 마세요. Store 대기열을 보면서 몇 분에 걸쳐 측정합니다.

## 자주 묻는 질문

### wsappx는 무엇이며 CPU를 많이 쓰는 이유는 무엇입니까?

AppX Deployment Service와 Client License Service의 서비스 호스트이며, Microsoft Store 앱을 설치, 업데이트, 제거, 라이선스합니다. 높은 CPU는 보통 Store 앱 업데이트나 설치가 실행 중이라는 뜻이며, 그 일이 끝나면 가라앉습니다.

### wsappx를 꺼도 됩니까?

안전하게 끌 수는 없습니다. Microsoft는 이 서비스를 끄면 Store 앱이 배포되지 않고 제대로 동작하지 않을 수 있으며, 구매한 Store 앱이 올바르게 동작하지 않는다고 합니다. 일이 언제 일어나는지 통제하는 지원되는 방법은 자동 Store 업데이트를 일시 중지하거나 끄는 것입니다.

### wsappx의 높은 CPU가 바이러스입니까?

진짜 wsappx 서비스는 Windows 폴더의 `svchost.exe` 안에서 실행되며 `tasklist /svc`로 이름이 나열됩니다. 바쁜 프로세스가 다른 곳에 있거나 서비스 목록에 `AppXSvc`나 `ClipSVC`가 없으면, 모르는 프로그램으로 조사합니다.

### Microsoft Store를 쓰지 않는데 wsappx가 실행되는 이유는 무엇입니까?

Solitaire, To Do, Xbox 앱처럼 Windows와 함께 온 앱은 Store 패키지이며, Store를 직접 열지 않아도 같은 서비스로 업데이트됩니다.


Canonical: https://mole.fit/ko/windows/blog/wsappx-high-cpu-windows
