关闭sysmain服务可缓解windows 11内存占用高、磁盘100%及卡顿问题,方法包括:一、服务管理器禁用;二、管理员命令提示符执行net stop与sc config;三、powershell运行stop-service与set-service;四、注册表修改enableprefetcher为0或1;五、新建enablesuperfetch并设为0。

如果您发现 Windows 11 系统内存持续被大量占用、磁盘使用率长期偏高甚至达到 100%,或在多任务场景下出现明显卡顿,这很可能是 SysMain(即旧版 Superfetch)服务在后台持续预加载数据所致。以下是关闭该服务的几种常见操作方式:
一、通过服务管理器禁用 SysMain
此方法采用图形界面操作,无需命令行或注册表编辑,适合所有用户,安全性高且可逆。其原理是将 SysMain 服务的启动类型设为“禁用”,并立即终止当前运行实例,从而阻止系统在每次开机时自动加载该服务。
1、按下 Win + R 组合键打开“运行”对话框。
2、输入 services.msc 并按回车,启动服务管理控制台。
3、在服务列表中向下滚动,找到名称为 SysMain 的条目。
4、右键点击该服务,选择“属性”。
5、在“启动类型”下拉菜单中选择 禁用。
6、若“服务状态”显示“正在运行”,则点击 停止 按钮。
7、点击“应用”,再点击“确定”保存设置。
二、使用管理员命令提示符禁用 SysMain
该方式通过系统内置命令直接控制服务状态,执行速度快,适合熟悉命令行操作的用户。它分两步完成:先终止当前运行的服务进程,再配置其开机不自启,确保重启后仍保持禁用状态。
1、按下 Win + S 打开搜索,输入 终端 或 命令提示符。
2、右键搜索结果中的“命令提示符”或“Windows Terminal”,选择 以管理员身份运行。
3、在弹出的用户帐户控制(UAC)提示中点击 是。
4、依次执行以下两条命令,每条命令后按回车:
net stop SysMain
sc config SysMain start=disabled
三、通过 PowerShell 脚本禁用 SysMain
PowerShell 提供更精确的服务控制接口,支持单条命令完成停止与禁用操作,适用于批量部署或脚本化管理场景。该方法本质与命令提示符方式等效,但语法更结构化。
1、按下 Win + X,从快捷菜单中选择 Windows PowerShell(管理员) 或 终端(管理员)。
2、在 UAC 提示中点击 是。
3、输入以下命令并回车:
Stop-Service -Name "SysMain" -Force
4、紧接着输入:
Set-Service -Name "SysMain" -StartupType Disabled
四、修改注册表禁用 Superfetch 行为
注册表调整可实现更精细的控制,例如仅保留启动预读而禁用应用级预缓存。此方式不完全关闭服务,而是限制其功能范围,适用于希望保留部分加速能力但降低资源消耗的用户。
1、按下 Win + R 打开运行框,输入 regedit 并回车。
2、在 UAC 提示中点击 是。
3、导航至以下路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
4、在右侧窗格中查找名为 EnablePrefetcher 的 DWORD 值。
5、双击该值,将“数值数据”修改为 0(完全禁用预取)或 1(仅启用启动预取)。
6、点击“确定”,关闭注册表编辑器。
7、重启计算机使更改生效。
五、创建注册表项强制禁用 Superfetch
当系统中不存在 EnablePrefetcher 项时,可手动新建并赋值,确保策略生效。该方法作为第四种方式的补充,覆盖注册表项缺失的边缘情况,增强操作鲁棒性。
1、在注册表编辑器中,确认已导航至:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
2、在右侧空白处右键,选择“新建” → “DWORD (32 位) 值”。
3、将其命名为 EnableSuperfetch。
4、双击新建项,在“数值数据”栏中输入 0,基数选“十进制”。
5、点击“确定”保存。
6、重启电脑。











