Microsoft Compatibility Telemetry 磁盘占用 100% 怎么办
任务管理器里的“Microsoft Compatibility Telemetry”就是 C:\Windows\System32 下的 CompatTelRunner.exe,由一个计划任务启动,用来检查这台电脑上的软件和驱动能不能兼容更新版本的 Windows,它运行时要读大量文件,在机械硬盘或者本来就忙的固态盘上,能把磁盘占用顶到 100% 好几分钟。大多数时候先让它跑完一次,再决定要不要调整它的计划时间或者诊断数据设置。
谁在启动它
微软讲兼容性扫描日志的文章提到了这个组件,Microsoft Compatibility Appraiser 作为计划任务 \Microsoft\Windows\Application Experience\Microsoft Compatibility Appraiser 运行,把结果写到 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags 下面,每次扫描都会写入并刷新这份兼容性信息,Windows 拿这些信息判断升级到新版本时会不会和已装的东西冲突。
所以磁盘在忙的是读,不是往盘里塞东西。离开电脑时开始的一次扫描,回来时可能还没结束,刚装完一个大软件或者刚更新过 Windows,要看的东西也会更多。
先确认是它在占磁盘
按 Ctrl + Shift + Esc 打开任务管理器,按磁盘排序,找 Microsoft Compatibility Telemetry。到“详细信息”页加上“命令行”这一列(在列标题上右键,选择“选择列”),确认程序是 C:\Windows\System32\CompatTelRunner.exe,同名文件出现在别的位置就不是 Windows 组件,用 Windows 安全中心扫一下。
想看它在读什么,在开始菜单输入 resmon 打开资源监视器,切到“磁盘”页,勾上 CompatTelRunner.exe,下面的“磁盘活动”会列出文件和读取速度,看到它在读 Program Files 里的程序目录、驱动存储和应用包,都是正常的。
想看它多久跑一次,打开任务计划程序,依次展开 任务计划程序库 › Microsoft › Windows › Application Experience,选中 Microsoft Compatibility Appraiser,“上次运行时间”“下次运行时间”两列和“触发器”页就是这台电脑上的计划。
先让它跑完一次
电脑别关,等几分钟,扫描结束后进程会退出,磁盘曲线也会落回去。如果每天都在不合适的时间跑,那是计划时间的问题,不是故障。
如果 Compatibility Telemetry 已经退出,磁盘还是 100%,原因在别处,可以看 任务管理器里磁盘 100%。觉得这次扫描特别重的话,最常见的原因是机械硬盘,同样的读取在固态盘上几乎感觉不到,在机械盘上就能让磁盘一直忙着。
选择发给微软多少诊断数据
Windows 11 给普通用户的诊断数据只有必需和可选两档,微软的诊断数据说明里写着它们以前叫基本和完整,以前的“增强”这一档在 Windows 11 上已经没有了。只想发送必需的部分,打开 设置 › 隐私和安全性 › 诊断和反馈,关掉“发送可选诊断数据”,公司或学校的电脑可能由策略统一设置,这时页面会提示某些设置由组织管理。
这个开关只管发给微软的内容,单关掉它,兼容性评估任务照样按计划运行。
可以禁用这个任务,但有代价
自己管理的电脑,可以在任务计划程序里右键 Microsoft Compatibility Appraiser,选择“禁用”,以后想恢复再选“启用”。代价是 Windows 不再刷新这台电脑的兼容性记录,而推送功能更新之前它要靠这份记录判断,微软论坛上也有用户说大版本更新之后这个任务又变回了启用,所以功能更新后再看一眼,别默认它一直是关着的。
比禁用代价小的是改触发时间,“触发器”页能看到它什么时候运行,晚上不关机的电脑,扫描就在没人用的时候做完了。改了任务的话,记下改了什么,方便以后改回去。
不要这样做
- 不要删除或重命名
CompatTelRunner.exe,它是归 TrustedInstaller 所有的 Windows 组件,删它要先取得系统文件的所有权,后面的更新或修复还可能把它装回来。 - 不要为了停一个扫描就跑一次性关掉几十个服务和任务的“精简”脚本,改了什么自己都记不清,有些改动还会弄坏 Windows 更新。
- 不要在任务管理器里反复结束这个进程,下一次计划运行还会把它拉起来,被打断的扫描下次还得重做。
Mole 能做什么
Mole for Windows 不会改诊断数据设置,也不会动 Windows 自己的计划任务,它的启动项列表只列 \Microsoft\Windows 以外的任务,所以 Compatibility Appraiser 根本不会出现在那里让你关。它运行的时候,状态页的进程列表会显示 Microsoft Compatibility Telemetry 和它的 CPU、内存占用,在这一行的菜单里选“为什么在运行?”,能看到程序文件和启动它的进程,“在文件资源管理器中显示”会打开它所在的文件夹,正好做上面那一步位置检查。因为它是从 Windows 文件夹运行的,Mole 不会给它提供“终止”。任务管理器里别的名字,可以看 Windows 进程逐个解释。
常见问题
Microsoft Compatibility Telemetry 是病毒吗?
真正的程序是 C:\Windows\System32 下的 CompatTelRunner.exe,由 Microsoft Compatibility Appraiser 计划任务启动,同名文件出现在别的位置就用杀毒软件扫一下。
Microsoft Compatibility Telemetry 为什么磁盘占用这么高?
它要读已装的程序和驱动,刷新 Windows 的兼容性记录,在机械硬盘上,这些读取能让磁盘保持 100% 好几分钟,直到这次扫描结束。
可以禁用 Microsoft Compatibility Telemetry 吗?
自己的电脑可以在任务计划程序里禁用 Microsoft Compatibility Appraiser 任务,以后也能重新启用,代价是 Windows 不再刷新功能更新前要用的兼容性数据。
关掉可选诊断数据能让它不再运行吗?
关掉以后 Windows 只发送必需的诊断数据,但计划好的兼容性评估不会因此停下来。