网站搜索

我以为我已经修复了内存峰值问题,直到我发现这些任务隐藏在 Windows 计划任务中


你可能会使用你的 Windows 11 电脑,并认为它状态完美。没有不必要的启动应用程序,没有运行多余的服务,内存使用率远低于峰值。然而,敏锐的你一定注意到一些随机的内存峰值,你可能难以解释。这是一种短暂的峰值,有时甚至短得无法截屏,而且往往完全随机。

但这种完全随机的尖峰可能会让你的电脑在需要稳定负载时不堪重负。如果你正在运行一个大型游戏或渲染文件,这种随机的、急剧的尖峰可能会导致你的内存超载,经常会使当时运行的进程崩溃。

任务计划程序并不像看起来那么安静

你从未预料到的隐藏后台任务






一般来说,我们打开任务计划程序,禁用一些明显的项目,也许禁用更新任务,然后就算完成了。但任务计划程序的内容比表面看到的要多得多。当然,你可以通过禁用一个无用的 Windows 11 服务来修复 RAM 峰值,但这些服务有点难找。

你看,Windows 任务计划程序是按照深度嵌套的文件夹结构组织的。这意味着,大多数影响 Windows 的重要任务实际上都被隐藏在 任务计划程序 > 库 > Microsoft > Windows 下。在这里,你会发现两个特别值得注意的子文件夹:应用体验 和 诊断。

这些文件夹保存了微软的计划任务,无论你是否希望,它们都会静默地在后台运行。此外,它们不会在任务管理器中显示为持久进程,这使得它们相当难以被发现。导致电脑出现随机、几乎无法察觉的内存峰值的进程几乎肯定存在于这两个子文件夹中。

这个文件夹的作用超乎你的想象

应用体验任务真正负责的是什么

在 应用体验 文件夹中,你有几个任务可能会影响你的电脑,第一个是 Microsoft 兼容性评估器。这个任务负责 CompatTelRunner.exe 进程,它会扫描你系统上安装的程序,生成兼容性报告,并根据客户体验改善计划(CEIP)将其发送给微软。

该程序可能会导致 CPU 和磁盘使用率短时间内飙升,持续时间从几秒到几分钟不等。它还在共享的服务主机进程下运行,因此在任务管理器中难以发现。

接下来是 ProgramDataUpdater —— 兼容性评估器的数据收集伴侣。它本身不那么激进,但会在上述进程之上增加更多资源使用,扩大其占用。

然后你有 StartupAppTask,它监控启动时启动的应用程序并将信息报告回兼容性数据库。Windows 11 启动时仍然运行一些过时的服务,这是其中之一。请注意,这些进程在运行之前都不会征得你的许可,而且它们收集的信息并不完全透明。它们只是运行,突然占用你的资源,然后隐藏起来。

维护任务并不总是轻松的

计划任务会消耗内存

诊断文件夹负责微软为 Windows 安排的定期维护。这些是定期任务,旨在自动扫描、检测和修复系统问题。看起来可能有帮助,但在已经负荷过重的系统上运行大量这些工具会很快累积影响。这些任务被安排在每周日凌晨 1 点或系统认为你的电脑处于空闲状态时运行。如你所料,它们会在你的电脑上执行一次维护运行,这可能会导致资源使用激增。

此维护框架包括位于 内存诊断 下的 RunFullMemoryDiagnostics 任务。它是 Windows 运行的资源消耗最大的内存任务之一,会使 SYSTEM 进程消耗显著更多的 CPU,并且通常是维护周期中最后运行的任务。和其他任务一样,它也位于任务管理器的 svhost.exe 进程下,查找起来可能非常麻烦。

这些尖刺很容易被忽视

为什么他们在你追踪他们之前就消失了

这些峰值难以捕捉的主要原因是任务本身。与后台持续运行的常规服务不同,计划任务根据触发器运行。这些触发器可以在空闲时、特定时间或特定事件发生时触发。当你打开任务管理器并检查进程选项卡时,它们通常已经运行完毕并自行终止。

更好的方法是改为使用资源监视器来捕获它们。在后台保持资源监视器运行,并利用其更详细的进程细分来捕获任何短暂出现后终止的进程。或者,您也可以使用事件查看器,将其指向上级子文件夹,并检查在发生峰值时任务的启动和停止时间戳日志。

修复它不到一分钟

在不破坏任何东西的情况下禁用正确的任务

您可以使用任务计划程序本身禁用“应用体验”文件夹中的任何任务,只需右键单击您想要的任务并选择禁用。如果您不想在设置中四处查找,更简单的方法是使用以下 PowerShell 命令来干净地禁用上述功能:

Disable-ScheduledTask -TaskPath '\Microsoft\Windows\Application Experience' -TaskName 'Microsoft Compatibility Appraiser'
Disable-ScheduledTask -TaskPath '\Microsoft\Windows\Application Experience' -TaskName 'ProgramDataUpdater'
Disable-ScheduledTask -TaskPath '\Microsoft\Windows\Application Experience' -TaskName 'StartupAppTask'

禁用诊断文件夹中的任务有点棘手,因为计划任务与 Windows 的更广泛的自动维护系统相关联。你可以禁用它,但请记住,它也负责通过操作中心识别和标记系统问题。更好的方法是更改触发时间,这样维护将在你不使用计算机时运行。毕竟,并非所有的 Windows 服务都可以安全禁用。

这比看起来更简单(也更棘手)

为什么任务计划程序值得更多关注

Windows 的任务计划程序是一个庞大的系统,而嵌套在其中的微软拥有的任务做的事情比你想象的要多得多。问题是,大多数人不会深入挖掘以发现这些隐藏的进程,而且它们也不容易被看到。

但一旦你知道从哪里查找,那些神秘的 RAM 峰值就不再像昂贵的硬件更换,而更像是你需要在 Windows 引擎盖下度过的一个夜晚。

相关文章