在网络上搜“Windows 11加速”,SysMain几乎必上建议关闭的服务名单,旁边往往还跟着一招:清空Prefetch文件夹。
但是,微软前不久刚解释,删Prefetch反而会让Windows 11变慢,这个缓存文件夹之所以存在,就是为了加快应用启动。
那么SysMain呢?
![]()
众所周知,SysMain就是Windows Vista时代的SuperFetch,经过多轮迭代、修改bug、调整策略,从Windows 10 1809版本开始,这项服务名称改成了SysMain。
如今,在Windows 11的服务管理器中,对SysMain的描述是:“维护和提高一段时间内的系统性能。”而在任务管理器里,它以Service Host: SysMain(服务主机:SysMain)的面目出现。说得详细一点:SysMain这个服务会利用空闲内存,把你常用的应用提前加载进内存;按微软的说法,它还会为快速启动(Fast Startup)预先备好启动数据。但是,很多人是在开机后撞见它狂吃CPU或磁盘资源,才第一次知道有这么个东西。
![]()
平时,SysMain会默默观察你的使用习惯,记下你常点哪些应用,然后在你双击图标之前,就把这些程序的部分内容预先读进内存。早在SuperFetch时代,微软就讲过这套机制:每当内存腾出空位,SuperFetch就会请Windows把不久前被换出的数据重新装回来,“速度大约是每秒几个内存页,而且走的是极低优先级的 I/O,这样预加载就不会打扰用户,也不会碍着其他正在运行的程序。”
这些预加载的数据会进入备用列表(Standby list),也就是任务管理器性能页里那个“已缓存”(Cached)。Windows会给缓存里的每一个内存页打上0到7的优先级标签;一旦某个应用需要内存,系统会先从低优先级的列表里拿页。说白了,这些缓存内存只是借出去的,应用一开口,Windows立刻就会收回去。
如何在Windows 11中禁用SysMain?
按 Win+R 打开“运行”,输入services.msc,回车。
在服务列表里往下滚,找到SysMain。
右键点击SysMain,选择“属性”。
在“启动类型”的下拉菜单中选择“禁用”。
点击“应用”,再点“确定”,然后重启电脑。
实测:禁用SysMain到底能不能提速?
我在两台跑Windows 11的机器上做了测试:一台是16GB“大”内存电脑,另一台是仅有4GB内存、双核处理器的性能孱弱虚拟机。
不出所料,大内存电脑上禁用SysMain前后,开机时间和应用启动时间几乎没有差别。
![]()
但在那台低配置虚拟机上,数字起了变化:
禁用SysMain之前:
重启耗时42秒(没错,这台虚拟机确实慢得可以)
打开ClipChamp耗时3秒
禁用SysMain之后:
重启耗时35秒,算是可观的进步
但打开ClipChamp足足花了8秒
这组数字其实颇值得玩味。开机变快,是因为系统少了开机后预读的工作;应用启动大幅变慢,恰恰说明预读在小内存机器上是有用的。它提前把常用应用如ClipChamp搬进了内存,禁用之后,每次启动都得现去硬盘里翻箱倒柜,一得一失。至于SysMain偷吃内存的说法,反复测试后,我确实看到“已缓存”内存下降了,但仅下降了100MB左右,对系统性能没有任何影响。缓存数字变小,并不等于应用能分到更多内存。因为就算你不删,Windows本来也会在需要时把这些缓存双手奉上。
Vista时代的刚需
回顾历史,2007年,在一台只有512MB内存、跑着Windows Vista的机器上测试发现,当时的SuperFetch搭配ReadyBoost,把OpenOffice Writer的启动时间从9秒砍到了2到4秒,Outlook 2007也从10秒降到了2到4秒。不过要注意,那是在机械硬盘上测的。微软后来也在Windows 7的工程博客里说明:对于随机读取性能足够好的SSD,系统会自动关掉Superfetch,因为这些功能“本就是为改善传统机械硬盘的性能而设计的”。
![]()
不妨把当年的背景多说两句。SuperFetch是Vista时代的产物,那时7300转机械硬盘是绝对主流,磁头寻道慢得令人发指,而内存普遍只有512MB到1GB。ReadyBoost更是那个年代特有的穷人方案——插个U盘当缓存盘,借闪存随机访问远快于磁头寻道的特性,给机械硬盘打辅助。如今NVMe固态的随机读取能力已是机械盘的百倍,内存起步就是16GB,这套机制的存在感自然越来越淡。但“淡”不等于“没用”:它在固态和大内存上会自动收敛自己的行为,而不是傻乎乎地照老办法蛮干。
到底什么时候该关,什么时候该留?
开机后SysMain占用几分钟CPU或磁盘,属于正常现象,它正忙着把它认为你会用到的东西重新载入内存。在大版本系统更新后,SysMain还可能大量调用CPU资源,有时直接吃掉了90%的CPU。这也不难理解,大版本更新会改动大量系统文件,SysMain相当于要重新认识一遍这台电脑,预读和重建缓存的工作会在更新后集中爆发。
![]()
如果你怀疑SysMain过于占用资源,甚至造成机器卡顿,先打开任务管理器,确认占用资源的确实是“Service Host: SysMain”。然后,去服务里把它“停止”(先别动启动类型),正常用一天电脑。如果没有任何改善,就把它重新启动。只有当问题确实随它而去、又随它回来时,才值得把启动类型设为“禁用”。
诸如“我有32GB以上内存,还用不用打开虚拟内存pagefile.sys?”这种翻来覆去争论的老问题一样,SysMain也是Windows的一种内存管理功能,它在任务管理器里看起来像在浪费资源,实际上却在默默起着作用。如果你的Windows 11并没有被它压得喘不过气,就别介意它开着。
那么,你的电脑关闭SysMain了吗?
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.