惯犯名单
Windows 的后台工作是按日程表跑的,而这张日程表恰好解释了“随机”二字:任务在系统看起来空闲时、更新刚结束后,或者在你从没见过的定时器上触发。在猎奇之前,先拿你的飙升和这份老名单对一对。飙升持续期间,在任务管理器里按 CPU 排序——进程名通常就是全部答案,而且几乎总在下面这几个里。
- Antimalware Service Executable(MsMpEng.exe):Defender 的计划扫描——飙升持续 10–30 分钟;时间点可在保护历史中查到
- SearchIndexer.exe:大量文件变动后的重新索引——恢复的备份和新克隆的仓库意味着好几个小时的索引
- TiWorker.exe 和 TrustedInstaller.exe:Windows 更新维护,在后台解包并提交更新
- mscorsvw.exe(.NET 运行时优化):更新或装完应用后重编译托管代码——放着让它跑完反而更快
- OneDrive.exe 和浏览器辅助进程:同步刚变化的文件夹,或者几个各自跑着 service worker 的标签页
- 任务计划程序里的厂商任务:更新检查、遥测上传和自带定时器的“维护”作业——打印机和显卡是惯犯
抓一个还没看就结束的飙升
任务管理器展示的是当下,而飙升属于过去,所以要用日志。在任务计划程序里启用所有任务的运行历史——此后每个触发的任务都会留下带精确时间戳的记录。事件查看器的系统日志在飙升前后能看到更新安装和服务事件;Diagnostics-Performance 日志则给慢启动和慢关机打分。资源监视器(resmon)以单视图实时捕捉各进程的 CPU 和磁盘——飙升频发时不妨一直开着。对付真正顽固的,Windows 性能记录器(wpr)能录下跟踪文件,在分析器里打开并钉到具体线程。
真正能站住脚的修法
别跟症状较劲,改排日程:把 Defender 的扫描挪到午饭时间;如果你是开发者,把 build 和虚拟化文件夹从索引和实时扫描里都排除掉。让 .NET 的优化器一次跑完——每天杀掉 mscorsvw 只会让同样的活明天重来。工作时间暂停 OneDrive,或者把它的文件夹指向远离活跃项目的位置;再精简自启动列表,因为每个随登录加载的辅助进程,之后都有机会给你来一次飙升。在怪罪 Windows 本身之前,打开任务计划程序读一读厂商条目:打印机、显卡和键盘的更新程序与“助手”服务,是那种每次重装系统都阴魂不散的经典随机飙升元凶。
常见问题与解答
为什么 CPU 会几秒钟冲到 100%?
短暂飙升是计划内的后台工作——Defender 检查、文件变动后的索引、更新维护或浏览器的 service worker。在按 CPU 排序的任务管理器里抓名字,或者事后读任务计划程序的运行历史。
CPU 随机 100% 是中招了吗?
有可能是,所以要做的是指认进程而不是瞎猜。一个钉在高 CPU 上的陌生名字,值得跑一次 Defender 扫描并看看它的文件位置;一个已知的系统计划进程通常没事。
联系我们: [email protected]