Superfetch is basically a Windows system process that has had multiple names throughout the years. On Windows XP it was known as Prefetch too. Superfetch was actually introduced in Windows Vista, and on the latest versions of Windows 10, so it’s now known as Sysmain. Let’s now read the article to know about How to Enable and Disable Superfetch in Windows.
Ultimately, the purpose of each and every generation of Superfetch has been the same. In order to increase the performance of Windows through preloading apps, that you mostly use RAM before you have to use them. However, what is Superfetch?
How Does Superfetch (Sysmain) Work?
Well in the latest versions of Windows 10, the Superfetch service now shows up under the name SysMain. In the Task Manager, it also shows up as Service Host: SysMain. If you guys are running an older version of Windows 10 or any version of Windows 7 or 8. Then this will show up in the Task Manager as Service Host: Superfetch as well.
This service runs in the background (via very little CPU power) and also analyzes how much RAM you guys are using and what apps you run most frequently. Any apps the service also recognizes as “frequently used”. It will start preloading the app into RAM as well. This way, the next time you run the app, it’ll open much more quickly.
You guys may be concerned that this means Superfetch is through up all of your RAM, however, it isn’t. The service focuses on pre-loading apps into unused RAM as well. This doesn’t actually register as consumed memory. You guys will see this if you open Task Manager to the Processes tab and then look at your Memory usage too.
Even though Superfetch is actually consuming all unused RAM along with preloaded apps. It is consumed RAM usage still doesn’t show 100% actually. This is because Superfetch is running in the background as well, and it’ll release any unused RAM it’s through whenever you have to use that memory for other active tasks.
How to Enable and Disable Superfetch in Windows
You can enable or disable the Windows 10, 8, or 7 Superfetch (otherwise it is known as Prefetch) feature. Superfetch caches data so that it can be immediately available to your application as well. Most of the time this can affect the performance of some applications. It tends to not work well with gaming, however, can improve performance with business apps.
In order to modify if Superfetch is enabled or disabled, you guys can perform the following steps.
Disable from Services
- First, hold the Windows Key, while tapping “R” in order to bring up the Run dialog box.
- Then type “services.msc“, then click on “Enter“.
- The Services window also displays. You can find “Superfetch” in the list.
- Right-tap on “Superfetch“, and then choose “Properties“.
- Now choose the “Stop” button if you want to stop the service. In the “Startup type” dropdown menu, select “Disabled“.
Enable or Disable from Registry
- Hold the Windows Key, while tapping “R” to bring up the Run dialog box.
- Type “Regedit“, and then click on “Enter“.
- then the Registry Editor window appears. Nownavigate to the following location in the Registry.
- Session Manager
- On the right side, you have to double-click on “EnableSuperfetch“. If this value does not exist, then right-tap on the “PrefetchParameters” folder. And then choose “New” > “DWORD Value“.
- You have to give “EnableSuperfetch” one of the following values:
- 0 – to tur iff Superfetch
- 1 – to turn on prefetching when the program is launched
- 2 – in order to enable boot prefetching
- 3 – to enable prefetching of each and everything
- Then choose “OK“.
- Now close the Registry Editor.
Note: If you guys disable Superfetch and would like to enable it for some applications. Then you can use the special switch in the program shortcut: /prefetch:1
Should You Kill Superfetch (Sysmain)?
Generally, there’s no need to stop Superfetch from running actually. It uses a really miniscule amount of CPU, and only uses unused RAM too. All of this is unnoticeable to the general user actually.
But, there have been some reports throughout Microsoft user forums. That most of the time the Superfetch (Sysmain) process actually causes performance issues too. Some of these reported issues also include:
- Constant 100% disk utilization.
- Overheating actually leading to system shutdown.
- Slow bootup time whenever you start your PC.
- On weak hardware, Superfetch could use more CPU and RAM than you guys might like.
- Has been known in order to cause performance issues when gaming.
The most common problem folks report is the 100% disk utilization issue. If this is you, then turning off Superfetch or Sysmain may also resolve the problem. Because Superfetch is only a system optimization feature, then you won’t hurt Windows via stopping the service. But, you may notice that launching your favorite apps may take a little longer than usual.
Enable Or Disable SuperFetch (SysMain) With Command Prompt
If you guys prefer working with the command prompt. Then there are some simple commands that you can use to enable or disable the SuperFetch service.
Just open the command prompt in administrator mode first, and then use the following commands:
- Turn on: sc config “SysMain” start=auto & sc start “SysMain”
- Turn off: sc stop “SysMain” & sc config “SysMain” start=disabled
Note: If you guys are using an older version of Windows. Then replace “SysMain” along with “SuperFetch” in the commands above. If you guys prefer PowerShell, just 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 simpler than tapping around in the Task Manager or the Windows registry.
Well, I hope you like this article and understand all the steps. However, if you still have any problems and queries related to this article. Then feel free to ask me in the comments section below. I’ll get back to you shortly.