windows 11 中 sysmain(superfetch)服务可能导致内存占用高、磁盘100%及卡顿,可通过服务管理器、管理员命令提示符、powershell、注册表或组策略编辑器五种方式禁用或限制其功能。

如果您发现 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
4、紧接着输入:
Set-Service -Name "SysMain" -StartupType Disabled
四、修改注册表禁用 Superfetch 行为
注册表调整可实现更精细的控制,例如仅保留启动预读而禁用应用级预缓存。此方式不完全关闭服务,而是限制其功能范围,适用于希望保留部分加速能力但降低资源消耗的用户。
1、按下 Win + R,输入 regedit 并按回车打开注册表编辑器。
2、导航至以下路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
3、在右侧窗格中找到 EnablePrefetcher 值。
4、双击该值,将其数据更改为 1,这将只启用启动过程的缓存。
5、若需完全禁用预加载,可新建一个 DWORD(32 位)值,命名为 EnableSuperfetch,双击修改其数值数据为 0。
6、关闭注册表编辑器并重启计算机以使更改生效。
五、通过组策略编辑器禁用 Superfetch(限专业版/企业版)
组策略提供集中式服务控制策略,适用于域环境或高级用户。该方法通过系统策略层屏蔽服务启动行为,具备更高优先级和稳定性。
1、按下 Win + R,输入 gpedit.msc 并按回车打开本地组策略编辑器。
2、依次展开路径:
计算机配置 → 管理模板 → 系统 → Prefetch Parameters
3、在右侧找到 启用 Superfetch 策略项,双击打开。
4、选择 已禁用,点击“确定”保存设置。
5、重启系统后策略即刻生效。











