# WindowsのwsappxのCPUが高いとき、何が動き、いつ止まるか

wsappxはウイルスでも、自分でインストールしたプログラムでもありません。Microsoft Storeの展開とライセンスのサービスを動かすサービスホストに、Windowsが付ける名前です。CPUやディスクを多く使うとき、普通の理由は、Storeがバックグラウンドでアプリをインストール、更新、削除していることで、その作業が終わると負荷は下がります。役立つ質問は、どのサービスが忙しいか、何をインストールしているか、作業がいつか完了するかです。

## wsappxがホストするもの

ここで関係するのは2つのサービスです。Microsoftの[サービスのリファレンス](https://learn.microsoft.com/en-us/windows-server/security/windows-services/security-guidelines-for-disabling-system-services-in-windows-server)が両方を説明しています。

| サービス | サービス名 | Microsoftが言う働き | スタートアップの種類 |
| --- | --- | --- | --- |
| AppX展開サービス | `AppXSvc` | Storeアプリケーションの展開に必要な基盤を提供する | 手動 |
| クライアントライセンスサービス | `ClipSVC` | Microsoft Storeに必要な基盤を提供する | 手動 |

手動は、必要に応じて起動するという意味です。アイドルなPCで、どちらも一日中忙しくあるべきではありません。Storeの作業があるときに起きます。アプリのインストールや更新、Storeアプリの削除、Storeで買ったアプリのライセンス確認です。パッケージの展開はファイルをディスクへ書くので、同じ作業がCPUだけでなくディスク活動としても出ます。

## どのサービスが忙しいかを確認する

`Ctrl + Shift + Esc`でタスクマネージャーを開き、プロセスタブをCPUで並べ、時刻をメモします。忙しい項目がwsappxのサービスホストなら、詳細タブでそのプロセスID(`svchost.exe`のそのPIDの行)を見つけ、サービスタブを見ます。そこには各サービスと、それを動かすPIDが並びます。

[tasklistコマンド](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/tasklist)は、同じ質問に1ステップで答えられます。コマンドプロンプトから:

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

各行はイメージ名、PID、そのプロセス内のサービスを示します。PIDを、タスクマネージャーでCPUを使っているものと比べます。`AppXSvc`と一致するなら、アプリパッケージの展開または削除です。`ClipSVC`と一致するなら、Storeアプリのライセンス作業です。

Moleのステータスページは、同じことを別の角度から示します。システムセッションのWindowsサービスホストは1つのプロセス行にまとまり、行の詳細を開くとそのホストのサービスが、いちばん忙しいプロセスから並びます。同じ`svchost.exe`の列ではなく、`AppXSvc`や`ClipSVC`が名前で出ます。その行に「終了」はありません。Windowsのサービスに属するからです。

## Storeが何をしているか確認する

wsappxの急上昇の多くは、Storeの更新と揃います。Microsoftは、セキュリティ修正を最新に保つため[アプリの更新を自動にしている](https://support.microsoft.com/en-us/accounts-billing/get-updates-for-apps-and-games-in-microsoft-store)としています。Storeを開かなくても更新は始まり得ます。ソリティア、To Do、XboxアプリなどWindowsに付いてきたアプリもStoreパッケージなので、Storeから何も入れていないPCでも急上昇は出ます。

1. Microsoft Storeを開きます。
2. 「更新プログラムの確認」を選び、ダウンロードまたはインストール中のものを見ます。
3. 待ち行列が終わるまで待ち、数分間wsappxをもう一度見ます。

待ち行列が空になったときにCPUが下がるなら、異常はありません。サービスが仕事をしただけです。大きなアプリ更新のあとの一度きりの急上昇は想定内です。

Storeアプリの削除も同じサービスを使います。Mole for WindowsがStoreアプリを外すとき、要求はほかの削除と同じく展開サービスを通り、すでに進行中の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のエラーや止まったダウンロード。[アプリ更新の失敗のガイド](/ja/windows/blog/windows-app-update-failures)が段階ごとにたどります。
- Cドライブの空きが少ない。パッケージの展開が遅くなったり失敗したりします。[いっぱいのCドライブを整理する](/ja/windows/blog/windows-c-drive-full)がそれを扱います。

一度に変えるのは1つで、同じ確認を繰り返します。止まったアプリが1つ終わるか外れたあとにwsappxが落ち着くなら、原因はそれです。CPUを持ち主までたどる一般的な方法は[WindowsのCPU使用率が高いとき](/ja/windows/blog/windows-high-cpu-usage)、ディスクが100%に張り付いているなら[ディスク使用率が100%](/ja/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は、自分の一部である一部のパッケージの削除を拒否します。Mole for WindowsはMicrosoft Store、アプリインストーラー、Windowsセキュリティをアプリ一覧から外しているので、そこで誤って削除することはできません。短い急上昇は、システムを分解する理由にはなりません。
- 短い急上昇を故障として扱わない。Storeの待ち行列を見ながら、数分間測ります。

## よくある質問

### wsappxとは何で、なぜCPUをそんなに使うのですか?

AppX展開サービスとクライアントライセンスサービスのサービスホストで、Microsoft Storeアプリのインストール、更新、削除、ライセンスを行います。高いCPUは、たいていStoreアプリの更新またはインストールが動いていることで、終わると落ち着きます。

### wsappxを無効にできますか?

安全にはできません。Microsoftは、これらのサービスを無効にするとStoreアプリが展開されず正しく動かないことがあり、購入したStoreアプリも正しく振る舞わないとしています。作業の時刻を制御するサポートされた方法は、Storeの自動更新を一時停止するかオフにすることです。

### wsappxの高いCPUはウイルスですか?

正規のwsappxサービスは、Windowsフォルダの`svchost.exe`の中で動き、`tasklist /svc`で名前が列挙されます。忙しいプロセスが別の場所にある、またはサービス一覧に`AppXSvc`や`ClipSVC`が出ないなら、未知のプログラムとして調べます。

### Microsoft Storeを使わないのにwsappxが動くのはなぜですか?

ソリティア、To Do、XboxアプリなどWindowsに付いてきたアプリはStoreパッケージで、Storeを自分で開かなくても、同じサービスを通して更新されます。


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