Superfetch is a Windows system process that has had several names over the years. In Windows XP, this was known as Prefetch. Superfetch was introduced in Windows Vista and is now known as Sysmain in recent versions of Windows 10.
Ultimately, the goal of every generation of Superfetch was the same: to improve Windows performance by preloading the applications you frequently use into RAM before you need to use them. But what is Superfetch?
How does Superfetch (Sysmain) work?
In the latest versions of Windows 10, the Superfetch service is now displayed under the name SysMain. In Task Manager, it appears as Service Host: SysMain.
If you are using an older version of Windows 10, or any version of Windows 7 or 8, this will show up in Task Manager as Service Host: Superfetch.
This service runs in the background (using very little processor power) and analyzes how much RAM you are using and which applications you run the most. Any applications that the service recognizes as “frequently used” will preload them into RAM. This way, the next time you launch the application, it will launch much faster.
You may be concerned that this means Superfetch is using up all of your RAM, but it doesn’t. The service is focused on preloading applications into unused RAM. This is not recorded as consumed memory. You can see this if you open Task Manager in the Processes tab and look at memory usage.
Even though Superfetch uses up all the unused RAM with preloaded apps, the amount of used RAM still doesn’t show up at 100%. This is because Superfetch runs in the background and frees up any unused RAM it uses when you need to use that memory for other active tasks.
Should you kill Superfetch (Sysmain)?
There is usually no need to stop Superfetch from running. It uses very little processor and only uses unused RAM. All this is invisible to the average user.
However, there have been reports in Microsoft user forums that sometimes the Superfetch (Sysmain) process does cause performance issues. Some of these reported issues include:
- Always 100% disk usage.
- Overheating causing system shutdown.
- Slow startup time when starting the computer.
- On weak hardware, Superfetch may use more CPU and RAM than you’d like.
- It has been known to cause performance issues when playing games.
The most common problem people report is 100% disk usage issue. If that’s you, then disabling Superfetch or Sysmain might fix the problem.
Since Superfetch is only a system optimization feature, stopping the service will not harm Windows. However, you may notice that it may take slightly longer than usual for your favorite applications to launch.
How to disable Superfetch (Sysmain) in Windows 10
Is it safe to disable Superfetch?
Unless you have any performance or other issues, it is recommended that you leave Superfetch (Sysmain) running. This is a useful process that dramatically reduces the time it takes to launch frequently used programs.
However, if you are experiencing high hard drive utilization, persistent memory issues, or overall poor performance, you can try disabling Superfetch to see if it solves the problem. If so, leave the service disabled. If not, turn it back on and continue troubleshooting.
To disable Superfetch (Sysmain) in Windows 10:
- Click the Start menu, type services and select the Services application. You can also press Windows + R, type services.msc and press Enter.
- In the Services application, scroll down to SysMain, right-click the service and select Stop. If you are using an older version of Windows, right-click the SuperFetch service and select Stop.
- Now you need to prevent the service from restarting when Windows starts. After stopping the service, right-click it again and select Properties.
- From the Startup Type drop-down list, select Disabled.
The SuperFetch service (SysMain) is now permanently disabled and will not restart the next time the computer starts.
Disable Superfetch (Sysmain) using Registry Editor
An alternative to using Task Manager to disable Superfetch on Windows 10 is to use Registry Editor.
Before you start doing anything with the registry, make sure you take a full backup of the registry in case something goes wrong.
When you’re ready:
- select the start menu, type regedit and select the Registry Editor application.
- In Registry Editor, navigate to HKEY_LOCAL_MACHINE> SYSTEM> CurrentControlSet> Control> Session Manager> MemoryManagement> PrefetchParameters.
- In this section, you should see the EnableSuperfetch key. Right-click this key and select Modify.
- In the Edit DWORD window that opens, change the Value field to 0 and select OK.
When finished, you can close Registry Editor.
This registry entry will disable the SuperFetch (SysMain) service on your system. However, you may need to restart your Windows computer for this registry setting to take effect.
Enable or disable SuperFetch (SysMain) using Command Prompt
If you prefer to work with the command line, there are a few simple commands you can use to enable or disable the SuperFetch service.
First open a Command Prompt in Administrator mode and then use the following commands:
- Enable: sc config “SysMain” start = auto & sc start “SysMain”
- Disable: sc stop “SysMain” & sc config “SysMain” start = disabled
Note. If you are using an older version of Windows, replace “SysMain” with “SuperFetch” in the commands above.
If you prefer PowerShell, open it with administrator rights and use the following commands:
- Enable: Set-Service -Name “SysMain” -StartupType Automatic -Status Running
- Disable: Stop-Service -Force -Name “SysMain”; Set-Service -Name “SysMain” -StartupType
This approach can be much faster and easier than clicking in the Task Manager or Windows Registry.
What if it doesn’t solve the problem?
If disabling SuperFetch (SysMain) does not resolve the problem, something else may be causing the problem.
If you still have 100% disk utilization, you may need to upgrade to a larger hard drive or opt for an SSD. SSDs are now very affordable and their data transfer rates are much faster than traditional hard drives.
If you’re having problems with CPU usage, check out our other CPU troubleshooting tips to pinpoint the culprit consuming all your CPU resources.