Last Updated on September 2, 2024 by Mathew Diekhake

Not to be confused with Superfish (malware), SuperFetch is a service that Microsoft introduced to Windows Vista and is still available in Windows 10 today. It’s a follow on from its predecessor, Prefetcher, which was available in Windows XP.

SuperFetch is memory management technology that helps in the responsiveness of your computer programs, prioritizes programs that you’re currently using over the background tasks, and allows programs load quicker by tracking the programs you must often use and preloading them into the memory.

SuperFetch is enabled by default in Windows 10. There is much debate about whether SuperFetch is necessary for computers with SSDs. Everyone is in agreeance that SuperFetch should be enabled on HDDs unless you’re finding it frequently maximizing out your disk usage.

If you are finding SuperFetch in the Task Manager and that it is using up a lot of your computer’s CPU and disk resources in particular, then you may wish to disable it. Before you do though, it’s worth noting that the high disk usage may drop down within a few minutes after booting up your computer and should remain at a much lower level for the rest of your duration on the computer. Before keeping SuperFetch disabled permanently, you may wish to test the results of how your computer performs with it disabled first.

The following tutorial demonstrates how to enable and disable SuperFetch when you’re using a version of the Windows 10, Windows 8, Windows 7, or Windows Vista operating system.

Method One: How to Enable/Disable SuperFetch in Services

Here is how you can enable and disable Microsoft’s SuperFetch directly from the Windows Services manager:

Note: Microsoft has renamed the SuperFetch service to SysMain in Services.msc.

1. Open the Run dialog by pressing the Windows logo + R keys on your keyboard, type services.msc and then click OK.

2. Double-click on the SysMain service. (click to enlarge screenshot below)

3. To Enable SuperFetch

a. From the SysMain Properties dialog, select Automatic from the drop-down menu, click Start under the Service status and then click OK.

4. To Disable SuperFetch

a. From the SysMain Properties dialog, select Disabled from the drop-down menu, click Stop under the Service status and then click OK.

or

3. To Enable SuperFetch

a. From the SysMain Properties dialog, select Automatic from the drop-down menu, and then click OK.

b. From Services, highlight the SysMain service and then click the Start the service link. (click to enlarge screenshot below)

4. To Disable SuperFetch

a. From the SysMain Properties dialog, select Disabled from the drop-down menu, and then click OK.

b. From Services, highlight the SysMain service and then click the Stop the service link. (click to enlarge screenshot below)

You can now close the Services.msc and continue using your computer if you like.

Method Two: How to Enable/Disable SuperFetch in Windows PowerShell

Here is how you can enable and disable Microsoft’s SuperFetch from PowerShell:

1. Open the elevated Windows PowerShell window.

2. To Disable SuperFetch

a. Type the following command and then press Enter on your keyboard to execute the command. (click to enlarge screenshot below)

Stop-Service -Force -Name "SysMain"; Set-Service -Name "SysMain" -StartupType Disabled

3. To Enable SuperFetch

Note: SuperFetch enabled is the default setting in Windows 10.

a. Type the following command and then press Enter on your keyboard to execute the command. (click to enlarge screenshot below)

Set-Service -Name "SysMain" -StartupType Automatic -Status Running

You can now close the elevated Windows PowerShell window and continue using your computer if you like.

Method Three: How to Enable/Disable SuperFetch in Command Prompt

1. Open the elevated Command Prompt window.

2. To Disable SuperFetch

a. Type the following command and then press “Enter” on your keyboard to execute the command. (click to enlarge screenshot below)

sc stop "SysMain" & sc config "SysMain" start=disabled

3. To Enable SuperFetch

Note: SuperFetch being enabled is the default setting in Windows 10.

a. Type the following command and then press “Enter” on your keyboard to execute the command. (click to enlarge screenshot below)

sc config "SysMain" start=auto & sc start "SysMain"

You can now close the elevated Command Prompt window and continue using your computer if you like.

That’s all.