wsappx CPU 占用高,它在忙什么,什么时候会停
任务管理器里的 wsappx 不是病毒,也不是你自己装的软件,它是 Windows 给运行 Microsoft Store 部署和许可服务的那个服务宿主起的名字,CPU 或磁盘占用一高,最常见的原因是应用商店在后台安装、更新或卸载某个应用,这件事做完占用就会降下来,所以要弄清的是哪个服务在忙、它在装什么、这项工作最后有没有结束。
wsappx 里跑的是什么
主要是两个服务,微软的服务说明文档对它们的描述如下:
| 服务 | 服务名 | 微软的说明 | 启动类型 |
|---|---|---|---|
| AppX Deployment Service | AppXSvc |
为部署应用商店应用提供基础支持 | 手动 |
| Client License Service | ClipSVC |
为 Microsoft Store 提供基础支持 | 手动 |
手动的意思是按需启动,电脑空闲时它们不该整天忙个不停,有应用商店的活要干才会醒来,比如安装或更新应用、卸载商店应用,或者检查从商店购买的应用的许可。部署一个应用包要把文件写到磁盘上,所以同样一件事,除了 CPU,也可能表现成磁盘占用高。
先确认是哪个服务在忙
按 Ctrl + Shift + Esc 打开任务管理器,在进程页按 CPU 排序,记下时间。如果最忙的是 wsappx 对应的服务宿主,就到“详细信息”页找到它的进程 ID,也就是那个 PID 的 svchost.exe,再看“服务”页,那里每个服务后面都写着运行它的 PID。
tasklist 命令一步就能回答同一个问题,在命令提示符里运行:
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 占用高峰都对得上商店更新,微软说正在把应用更新改为自动进行,好让安全补丁及时到位,所以你不打开商店,更新也可能自己开始。系统自带的纸牌、To Do、Xbox 这些应用也是商店应用包,这就是为什么从没在商店里装过东西的电脑,也会看到这个高峰。
- 打开 Microsoft Store。
- 点“检查更新”,看看正在下载或安装什么。
- 等队列跑完,再观察几分钟 wsappx。
队列清空以后 CPU 降下来,就说明没有问题,服务只是把自己的活干完了,一个大应用更新之后出现一次高峰是正常的。
卸载商店应用走的也是这个服务,Mole for Windows 卸载商店应用时,请求同样交给部署服务处理,如果商店正在安装或更新别的应用,Windows 会让它排在后面,所以卸载一个应用也可能让 wsappx 的占用短暂升高。
真想关掉商店自动更新
如果后台更新总在不合适的时候开始,比如用着按流量计费的网络,或者正在演示,微软的自动更新说明给了开关的位置,打开 Microsoft Store,点自己的头像,选“设置”,修改“应用更新”。微软也提到应用更新正在变成自动的,需要时可以暂停,所以你那个版本的商店里看到的可能是暂停选项,而不是关闭开关。
这样做是拿现在的 CPU 高峰去换以后的旧版本应用,商店应用的安全修复就是靠这些更新送到的。折中一点的办法是保持自动更新,在自己方便的时候手动点一次“检查更新”,让这项工作在你不用电脑的时候做完。
一直降不下来
商店里看不到任何任务,wsappx 却连着几个小时都很忙,就是另一种情况了,可以找这几样:
一次只改一样,再用同样的方法看一遍,某个卡住的应用装完或者被移除以后 wsappx 安静下来,原因就找到了。从 CPU 占用一路追到具体程序的通用方法,看 Windows CPU 占用高,如果一直满的是磁盘,磁盘一直 100% 讲了怎么分清活动时间和真实读写。
不要这样做
- 不要在服务管理器里禁用
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 这些系统自带的应用都是商店应用包,就算你从不打开商店,它们也通过同一组服务更新。