# wsappx 的 CPU 偏高時，它在忙什麼，什麼時候會停

工作管理員裡的 wsappx 不是病毒，也不是你自己裝的軟體。它是 Windows 給執行 Microsoft Store 部署和授權服務的那個服務主機起的名稱。CPU 或磁碟佔用一高，最常見的原因是應用程式市集在背景安裝、更新或解除安裝某個應用程式。這件事做完佔用就會降下來。所以要弄清的是哪個服務在忙、它在裝什麼、這項工作最後有沒有結束。

## wsappx 裡跑的是什麼

主要是兩個服務。微軟的[服務說明文件](https://learn.microsoft.com/en-us/windows-server/security/windows-services/security-guidelines-for-disabling-system-services-in-windows-server)對它們的描述如下：

| 服務 | 服務名稱 | 微軟的說明 | 啟動類型 |
| --- | --- | --- | --- |
| AppX Deployment Service | `AppXSvc` | 為部署市集應用程式提供基礎支援 | 手動 |
| Client License Service | `ClipSVC` | 為 Microsoft Store 提供基礎支援 | 手動 |

手動的意思是按需啟動。電腦閒置時它們不該整天忙個不停。有應用程式市集的工作要做才會醒來，例如安裝或更新應用程式、解除安裝市集應用程式，或者檢查從市集購買的應用程式的授權。部署一個應用程式套件要把檔案寫到磁碟上，所以同樣一件事，除了 CPU，也可能表現成磁碟佔用偏高。

## 先確認是哪個服務在忙

按 `Ctrl + Shift + Esc` 開啟工作管理員，在處理程序頁按 CPU 排序，記下時間。如果最忙的是 wsappx 對應的服務主機，就到「詳細資料」頁找到它的處理程序識別碼，也就是那個 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` 說明是在處理市集應用程式的授權。

Mole 的狀態頁換了個角度顯示同一件事。系統工作階段裡的 Windows 服務主機會合併成一列。點開這一列的詳細資料，會按處理程序忙碌程度從高到低列出裡面的服務。`AppXSvc` 或 `ClipSVC` 直接寫著名稱，不用對著一列一模一樣的 `svchost.exe` 猜。這一列屬於 Windows 服務，Mole 不會給它提供結束處理程序的選項。

## 看應用程式市集在忙什麼

大多數 wsappx 佔用高峰都對得上市集更新。微軟說正在[把應用程式更新改為自動進行](https://support.microsoft.com/en-us/accounts-billing/get-updates-for-apps-and-games-in-microsoft-store)，好讓安全性修補及時到位。所以你不開啟市集，更新也可能自己開始。系統內建的紙牌、To Do、Xbox 這些應用程式也是市集應用程式套件。這就是為什麼從沒在市集裡裝過東西的電腦，也會看到這個高峰。

1. 開啟 Microsoft Store。
2. 點「檢查更新」，看看正在下載或安裝什麼。
3. 等佇列跑完，再觀察幾分鐘 wsappx。

佇列清空以後 CPU 降下來，就說明沒有問題。服務只是把自己的工作做完了。一個大型應用程式更新之後出現一次高峰是正常的。

解除安裝市集應用程式走的也是這個服務。Mole for Windows 解除安裝市集應用程式時，要求同樣交給部署服務處理。如果市集正在安裝或更新別的應用程式，Windows 會讓它排在後面，所以解除安裝一個應用程式也可能讓 wsappx 的佔用短暫升高。

## 真想關掉市集自動更新

如果背景更新總在不合適的時候開始，例如用著按流量計費的網路，或者正在簡報，微軟的[自動更新說明](https://support.microsoft.com/en-US/Windows/Apps/turn-on-automatic-app-updates)給了開關的位置。開啟 Microsoft Store，點自己的頭像，選「設定」，修改「應用程式更新」。微軟也提到應用程式更新正在變成自動的，需要時可以暫停。所以你那個版本的市集裡看到的可能是暫停選項，而不是關閉開關。

這樣做是拿現在的 CPU 高峰去換以後的舊版本應用程式。市集應用程式的安全性修復就是靠這些更新送到的。折衷一點的辦法是保持自動更新，在自己方便的時候手動點一次「檢查更新」，讓這項工作在你不用電腦的時候做完。

## 一直降不下來

市集裡看不到任何工作，wsappx 卻連著幾個小時都很忙，就是另一種情況了。可以找這幾樣：

- 同一個應用程式在市集的下載清單裡反覆重試更新。
- 市集報錯或者下載卡住。[應用程式更新失敗那篇](/tw/windows/blog/windows-app-update-failures)按階段講了怎麼查。
- C 槽空間不足，應用程式套件部署會變慢甚至失敗。可以看 [C 槽空間分類排查](/tw/windows/blog/windows-c-drive-full)。

一次只改一樣，再用同樣的方法看一遍。某個卡住的應用程式裝完或者被移除以後 wsappx 安靜下來，原因就找到了。從 CPU 佔用一路追到具體程式的通用方法，看 [Windows CPU 佔用偏高](/tw/windows/blog/windows-high-cpu-usage)。如果一直滿的是磁碟，[磁碟一直 100%](/tw/windows/blog/windows-disk-100-percent) 講了怎麼分清活動時間和真實讀寫。

<figure class="blog-diagram">
  <picture>
    <source media="(max-width: 900px)" srcset="/img/blog/windows-wsappx-high-cpu-windows-zh-mobile.webp" type="image/webp" width="768" height="1500">
    <img src="/img/blog/windows-wsappx-high-cpu-windows-zh.webp" width="1360" height="454" loading="lazy" alt="弄清市集服務在做什麼">
  </picture>
  <figcaption>先確認處理程序，再找出具體服務，看市集的工作佇列，等它跑完以後再量一次。</figcaption>
</figure>

## 不要這樣做

- 不要在服務管理員裡停用 `AppXSvc` 或 `ClipSVC`，也不要去登錄改它們的 `Start` 值。微軟說得很直接：部署服務被停用，市集應用程式就裝不上，也可能無法正常工作。授權服務被停用，從市集購買的應用程式會執行不正常。
- 不要為了讓數字好看就在工作管理員裡結束 wsappx 服務主機。這會讓正在進行的安裝或更新斷在一半。市集之後還會重新開始。
- 不要為了不再更新，就用指令碼把系統內建的市集應用程式全刪掉。有些應用程式套件是 Windows 的一部分，系統會拒絕移除。Mole for Windows 的軟體頁也不列出 Microsoft Store、應用程式安裝程式和 Windows 安全性，在那裡不會被誤刪。一次短暫的高峰不值得把系統拆開。
- 不要把短暫的高峰當成故障。盯著市集的工作佇列，觀察幾分鐘再下結論。

## 常見問題

### wsappx 是什麼，為什麼 CPU 佔用這麼高？

它是 AppX Deployment Service 和 Client License Service 的服務主機，負責 Microsoft Store 應用程式的安裝、更新、移除和授權。CPU 偏高通常說明有市集應用程式正在更新或安裝，做完就會降下來。

### 可以停用 wsappx 嗎？

不建議。微軟說這些服務被停用後，市集應用程式無法部署，也可能無法正常工作，購買的市集應用程式也會執行不正常。想控制更新什麼時候發生，用市集設定裡的暫停或關閉自動更新。

### wsappx CPU 佔用偏高是病毒嗎？

真正的 wsappx 服務跑在 Windows 資料夾裡的 `svchost.exe` 中，用 `tasklist /svc` 能看到服務名稱。如果佔用偏高的處理程序在別的位置，或者服務清單裡沒有 `AppXSvc` 和 `ClipSVC`，就把它當成分不出來路的程式另行排查。

### 我從不用 Microsoft Store，為什麼 wsappx 還在執行？

紙牌、To Do、Xbox 這些系統內建的應用程式都是市集應用程式套件。就算你從不開啟市集，它們也透過同一組服務更新。


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