What is Windows Superfetch (SysMain) and How to Disable It

What Is Superfetch And How To Disable It

Superfetch (called SysMain in Windows 10 and Windows 11) is a program prioritization and loading service that’s been around since Windows Vista. It sits quietly in the background and evaluates the apps you use most and how much RAM you use. Although it’s designed to make your computer faster, SysMain is often unnecessary and can be safely disabled to fix high memory usage on your PC.

Tip: some Windows processes can look like malware. Make sure you know how to verify their legitimacy.

What Is Superfetch (SysMain) and What Is It Used For?

Superfetch (SysMain) is a Windows Service Host process (“svchost.exe”) that has a primary objective to allocate RAM to commonly used apps and programs. There is only one SysMain activity on your Windows computer that you can see in the “Services” tab of Task Manager.

SysMain utility identified in Task Manager Services

To quickly launch your favorite apps, SysMain loads their executable files via reusable code blocks called dynamic link libraries (DLL).

Superfetch (SysMain) is designed to make your computing faster, as it maintains and improves system performance over time. It also decreases the overall boot time. Every time you start your PC, all necessary apps are preloaded using the computer’s unused memory.

Why Does Superfetch (SysMain) Consume So Much Memory?

Since the purpose of Superfetch (SysMain) is to prioritize the programs you use frequently, it can easily scale to 100% memory consumption, especially with browser tabs and Office programs, as it doesn’t really know how much memory you would need, so the extra cached data is allocated in advance.

Even though SuperFetch is a useful feature, it makes your computer work harder in the background, which translates to a higher RAM and CPU usage. With more time, the unused memory continues to grow, and eventually, you would have consumed a lot of extra space. This generally affects Windows systems with very low RAM capacity (~4 GB and less).

How to View SysMain in Task Manager and File Explorer

As SysMain is centered around a Windows Service Host process (“svchost.exe”), knowing how to access it in Task Manager and view it later in a File Explorer window is easier than you think.

There are many other processes in Task Manager also named “svchost.exe,” but they have no relation to SysMain. You don’t want to accidentally terminate the wrong “svchost.exe” task. The following steps will help ensure that you stay focused on the main SysMain service only.

  1. Open Windows Task Manager using Ctrl + Shift + Esc. Navigate to the “Services” tab.
  2. Identify the SysMain program and right-click on it to select the “Go to details” option.
Right-click in Task Manager to view Go to Details for SysMain
  1. The “svchost.exe” task connected to your SysMain will be highlighted among the many other tasks.
  2. Right-click on the highlighted “svchost.exe” task to “Go to service(s).” This will help you double-check that you aren’t terminating the wrong process. It’s very important that you always make sure that you are right-clicking on the correct “svchost.exe” process.
Go to Services in Task Manager for SysMain Service Host.
  1. In the “Details” window, right-click on the highlighted “svchost.exe” task and click “Open file location.”
Open File Location from Task Manager for SysMain Service Host Process.
  1. The exact “svchost.exe” related to SysMain will be highlighted in the File Explorer window.
  2. Right-click on it to view its Properties.
Service Host for SysMain in File Explorer and its Properties
  1. You should see the exact Host Process for Windows Services in SysMain, its file size, and other properties,// such as sharing data.
SysMain in File Explorer, its Properties and Description.

Tip: sometimes the problem in Windows Task Manager is not due to memory but high CPU consumption. Here’s what you can do to rectify the issue.

How to Disable Superfetch (SysMain)

Superfetch (SysMain) is definitely helpful to load a few programs faster. But if you’re using a newer Windows PC, that might be redundant. It might seem more efficient to disable SysMain completely. As it is not an essential service, you can go ahead and disable it whenever you want. There are four ways to do so.

1. Using Windows Task Manager Services

The Windows Task Manager is the standard implementation of SysMain and its “svchost.exe” program.

  1. Go to the “Services” tab in Task Manager.
  2. Identify the SysMain task and right-click to select the “Open Services” option.
Open SysMain services by right-clicking in Task Manager.
  1. Find the SysMain service and right-click it to open its Properties. If it’s running, and the startup type is set as “Automatic”, you can easily turn it off from here.
SysMain Running in Windows Services Manager window.
  1. In the pop-up window you should see the “Startup type” option under the “General” tab. Click on it to view the additional options.
Startup  as Automatic in SysMain Services Properties
  1. Select the startup type as “Disabled,” apply the changes and click “OK.”
Steps for disabling the Startup type in SysMain Properties.
  1. Restart the computer for the changes to take effect.

Good to know: does defragmenting your Registry have any benefits for your Windows PC? Find out here.

2. Using Registry Editor

A more permanent way to disable the Superfetch (SysMain) function is to edit its “Start” value in Registry Editor.

  1. Create a Restore point so that if something untoward happens, it can be reversed later.
  2. Write “Create a restore point” in the Windows search bar and select the “Best match” underneath.
Create a Restore Point in Windows search menu.
  1. When the System Properties window is launched, navigate to the “System Protection” tab. Click the “Create” button at the bottom of the window.
Create a Restore Point in System Properties.
  1. Give a name to the restore point. Add any identifying details that can help later. The current date and time are added automatically.
Giving a name to the restore point being created,
  1. The restore point has been created successfully, and you can freely edit the registry values as shown below.
System Restore point created successfully.
  1. Using the Windows Run command, Win + R, open the Registry Editor by typing regedit. It will launch in Administrator mode as default.
Regedit (Registry Editor) opened in Windows Run Command.
  1. Navigate to the following path in Registry Editor:
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SysMain.
  1. Double-click or right-click the “Start” entry on the right panel to modify it.
Modifying the Start value for SysMain in Registry Editor.
  1. Set the value data for the “Start” entry to “4.”
Setting Start Value data as 4 for SysMain in Registry Editor.
  1. Restart your PC for the changes to take effect.

3. Using PowerShell

The PowerShell window is one of the fastest ways to disable and enable the SysMain activity.

  1. Open the PowerShell window from the Run command, Win + R, by typing powershell in the window.
  2. Instead of hitting Enter or “OK,” enter Ctrl + Shift + Enter on your keyboard. This will launch PowerShell in Administrator mode.
Opening PowerShell in Admin mode using Run Command.
  1. Enter the following commands to disable or enable SysMain as you want. The following window shows both commands together, but you will need to use one at a time.
Stop-Service -Force -Name "SysMain"; Set-Service -Name "SysMain" -StartupType Disabled
 
Set-Service -Name "SysMain" -StartupType Automatic -Status Running
Disabling and enabling Superfetch in PowerShell Admin window.
  1. Type exit in PowerShell to close the window. Restart your PC for the changes to take effect.

4. Using Command Prompt

Like the PowerShell, the Windows Command Prompt is a classic way to disable or enable SysMain instantly.

  1. Open the Command Prompt window from the Run command, Win + R, by typing cmd in the window.
  2. Instead of entering Enter or “OK,” type Ctrl + Shift + Enter on your keyboard. This will launch Command Prompt in Administrator mode.
Windows Superfetch Command Prompt Admin Mode Open Using Run
  1. To block SysMain on your computer, or to re-enable it, type the following commands as needed.
sc stop "SysMain" & sc config "SysMain" start=disabled
sc config "SysMain" start=auto & sc start "SysMain"
SysMain disabled and enabled in Command Prompt Admin mode.
  1. Type exit in Command Prompt to quit, then restart the device.

Tip: learn how to customize your Windows Terminal.

What Happens If I Disable Superfetch?

After you disable Superfetch, and following a mandatory PC restart, you will find that the SysMain task is no longer available in Windows Task Manager processes. Also, when you navigate to the “Services” tab, you will find a changed status for SysMain. It used to be “Running” before, and now it should display “Stopped.”

SysMain stopped status in Task Manager Services

If you right-click on the SysMain task in the “Services” tab, you will see that the option for “Go to details” is grayed out and disabled.

Go to details option disabled in SysMain service

Does Disabling SysMain Save Memory?

As it is not possible to have an objective assessment, we tried the following experiments. First, the Task Manager memory performance was observed while Superfetch (SysMain) was running automatically. A number of browser tabs and other applications were active (approximately 15). The memory consumption was as high as 55% for a device with 12GB RAM.

CPU and Memory consumption while Superfetch is running.

Later, after SysMain was stopped, the same set of browser windows and applications were kept open. Again, the memory performance was evaluated. There was a drastic reduction in memory usage from 55% to 45%.

CPU and Memory consumption while Superfetch is disabled.

Disabling SysMain may or may not have an impact on your device’s RAM performance, depending on how much RAM you have installed on your device. The impact may not be that much in the case of solid-state drive (SSD) devices compared to hard disk drives (HDD,) but it is still noticeable.

Good to know: need to make a backup? Here are the best tools to help you clone your SSD.

Frequently Asked Questions

Are there any disadvantages to disabling Superfetch?

While Superfetch (SysMain) is not an essential Windows service, disabling it may have a slight increase in boot time and launch times of applications. The delays aren’t very noticeable with SSD devices. It is, however, perfectly safe for your Windows system. There are no long-term performance issues.

How do I fix a 100% Disk Usage problem due to Superfetch?

If your Superfetch (SysMain) service is causing your disk usage to rise to 100%, it means some programs may be causing the spikes. One of the most common programs that contributes to the 100% disk usage problem is the Windows Update service.

After each update, you may notice the issue resurface again. To resolve it, run Windows Update Troubleshooter from “System -> Troubleshoot -> Other Troubleshooters.”

There are other techniques as well, such as checking for malware and Disk cleanups using Windows utilities.

How do I increase virtual RAM?

Increasing virtual RAM is a surefire way to get a memory boost on a Windows device. There are two solid ways to do that: using registry hacks and third-party tools and a RAM disk. These methods offset the impact of memory-consuming programs like Superfetch.

Image credit: Unsplash. All screenshots by Sayak Boral.

Sayak Boral
Sayak Boral

Sayak Boral is a technology writer with over eleven years of experience working in different industries including semiconductors, IoT, enterprise IT, telecommunications OSS/BSS, and network security. He has been writing for MakeTechEasier on a wide range of technical topics including Windows, Android, Internet, Hardware Guides, Browsers, Software Tools, and Product Reviews.

Subscribe to our newsletter!

Our latest tutorials delivered straight to your inbox