一项故意让内存保持忙碌的服务
SysMain 是 Windows 10 给 Superfetch 悄悄改的新名字。它会观察你何时启动哪些应用,然后在系统空闲时,把它们的代码和数据从磁盘复制到标记为“备用”(standby)的内存里。逻辑很简单:从内存读取比从磁盘读取快,而闲着的内存就是浪费的内存。预载的内容在任务管理器里显示为“已缓存”而不是“使用中”,所以健康机器上内存条占满反而是好兆头,而不是警报。
备用内存并不是赖着不走:一旦正在运行的应用申请那块空间,Windows 会立刻交出来。同一项服务还承载着 ReadyBoost——往 U 盘上做缓存的老技巧——但压缩内存并不是它的活,那归 System 进程管,所以禁用 SysMain 并不会关掉内存压缩。换句话说,这项服务远没有它的名声那么大。
- SysMain 是 Superfetch 在 Windows 10 里的新名字,预取逻辑一模一样
- 它在电脑空闲时把常用应用复制进备用内存
- 正在运行的应用需要空间时,备用内存会被立即释放
- U 盘上的 ReadyBoost 缓存也跑在同一服务下
- 内存压缩由 System 进程负责,禁用 SysMain 后依然照常工作
磁盘 100% 的恐慌,以及禁用确实有用的唯一场景
禁用 SysMain 的正当理由是老 HDD 笔记本:4 GB 内存、机械硬盘,每次登录后服务拼命预载,磁盘占用 100% 能持续十分钟。打开资源监视器,确认写盘的进程确实是 SysMain。如果属实,禁用真的能让这台机器安静下来:瓶颈在磁盘,预载流量会和你真正要做的事抢道。
在 SSD 上,这笔账完全反过来。Windows 本来就会在快速磁盘上收敛预取,它原本想抹平的那些启动反正只花毫秒级时间,服务的空闲工作在任务管理器里几乎看不见。在这类机器上禁用它安全但毫无意义:什么都不会坏,只是每个应用的首次启动略微“更冷”,而人们记在这次调整头上的收益,多半是安慰剂外加刚重启的那股新鲜劲。
如何正确禁用 SysMain——以及如何撤销
按 Win+R,输入 services.msc,在列表里找到 SysMain,打开“属性”,将启动类型设为“禁用”,点击“停止”,然后重启。命令行版本(在管理员提示符中运行)是 sc config SysMain start=disabled——注意等号后面有个空格;少了它,这条命令会毫无反应。两种方式的效果完全相同。
重启后,常用应用的头几次启动会在几天里显得没那么“秒开”。如果反悔了,把服务改回“自动”并启动即可——Windows 一两天内就会重新学会你的使用习惯。而如果最后发现磁盘占用的元凶根本不是 SysMain,你也免费排除了一名嫌疑人,这已经比大多数调优教程肯告诉你的多。
常见问题与解答
SSD 上应该禁用 SysMain 吗?
没有理由。Windows 本来就会在快速磁盘上限制预取,服务在那里几乎零成本,禁用只会让首次启动略微变“冷”。
SysMain 为什么把我的磁盘打到 100%?
通常是登录后立即重建备用内存——读取它预计你会打开的应用。动手前先在资源监视器里确认读取方确实是 SysMain;在老化的 HDD 上,这是唯一值得禁用的场景。
继续阅读
联系我们: [email protected]