Enable or Disable SuperFetch in Windows  

    Enable or Disable SuperFetch in Windows

    Enable or Disable SuperFetch in Windows

    How to Enable or Disable SuperFetch in Windows
    Published by Category: Performance & Maintenance
    12 Dec 2019
    Designer Media Ltd


    How to Enable or Disable SuperFetch in Windows


    SuperFetch (aka: Memory Prefetcher) is a service that was introduced with Vista.

    SuperFetch is an enhancement of the Prefetcher from previous versions of Windows. The Prefetcher is in charge of storing program information so that often-used programs and processes can run faster.

    SuperFetch keeps track of which applications you use most and loads this information from the hard drive into RAM so that programs load faster than they would if the hard disk had to be accessed every time. Windows SuperFetch prioritizes the programs you’re currently using over background tasks and adapts to the way you work by tracking the programs you use most often and pre-loading these into memory. With SuperFetch, background tasks still run when the computer is idle. However, when the background task is finished, SuperFetch repopulates system memory with the data you were working with before the background task ran. Now, when you return to your desk, your programs will continue to run as efficiently as they did before you left. It is even smart enough to know what day it is in the event you use different applications more often on certain days. Basically, SuperFetch attempts to predict which applications you will launch next and preloads all of the necessary data into memory.

    Sometimes SuperFetch may cause high disk usage.

    If you run Windows from a SSD or M.2 instead of a slow spinner hard drive, then you may not see any performance gain from SuperFetch to justify the drive usage from it.

    If you like, you could disable SuperFetch to see if you have any performance gains with it enabled or disabled.

    This tutorial will show you how to enable or disable SuperFetch in Windows 7, Windows 8, and Windows 10.

    You must be signed in as an administrator to enable or disable SuperFetch.

    This will affect:

    - Prefetch
    - SuperFetch
    - RAM compression
    - ReadyBoost



    Contents







    OPTION ONE

    Enable or Disable SuperFetch in Services


    1 Press the Win + R keys to open Run, type services.msc into Run, and click/tap on OK to open Services.

    2 Double click/tap on the SysMain service. (see screenshot below)

    Starting with Windows 10 build 17763.1, the SuperFetch service has been renamed to SysMain.

    Enable or Disable SuperFetch in Windows-superfetch_services-1.png

    3 Do step 4 (enable) or step 5 (disable) below for what you want to do.


     4. To Enable SuperFetch

    This is the default setting.

    A) Change the Startup type to Automatic. (see screenshot below)

    B) Click/tap on the Start button.

    C) Click/tap on OK, and go to step 6 below.

    Enable or Disable SuperFetch in Windows-superfetch_services-3.png


     5. To Disable SuperFetch

    A) Click/tap on the Stop button.

    B) Change the Startup type to Disabled. (see screenshot below)

    C) Click/tap on OK, and go to step 6 below.

    Enable or Disable SuperFetch in Windows-superfetch_services-2.png

    6] You can now close Services.






    OPTION TWO

    Enable or Disable SuperFetch in Command Prompt


    1 Open an elevated command prompt.

    2 Do step 3 (enable) or step 4 (disable) below for what you want to do.


     3. To Enable SuperFetch

    This is the default setting.

    A) Copy and paste the command below into the elevated command prompt, press Enter, and go to step 5 below. (see screenshots below)

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

    Enable or Disable SuperFetch in Windows-superfetch_command-1.png


     4. To Disable SuperFetch

    A) Copy and paste the command below into the elevated command prompt, press Enter, and go to step 5 below. (see screenshots below)

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

    Enable or Disable SuperFetch in Windows-superfetch_command-2.png

    5 You can now close the elevated command prompt.






    OPTION THREE

    Enable or Disable SuperFetch in PowerShell


    1 Open an elevated PowerShell.

    2 Do step 3 (enable) or step 4 (disable) below for what you want to do.


     3. To Enable SuperFetch

    This is the default setting.

    A) Copy and paste the command below into the elevated PowerShell, press Enter, and go to step 5 below. (see screenshots below)

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

    Enable or Disable SuperFetch in Windows-superfetch_powershell-1.png


     4. To Disable SuperFetch

    A) Copy and paste the command below into the elevated PowerShell, press Enter, and go to step 5 below. (see screenshots below)

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

    Enable or Disable SuperFetch in Windows-superfetch_powershell-2.png

    5 You can now close the elevated PowerShell.


    That's it,
    Shawn




  1. Posts : 31
    Windows 10 Home 64-Bit Version 1709 Build 16299.125
       #1

    If one wanted to fully disable superfetch on SSD shouldn't it also be disabled in the registry too?:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters\EnableSuperfetch (DWORD value doesn't exist by default and to disable it the value must be 0)

    Ever since disabling the Superfetch service all my files in C:\Windows\Prefetch haven't been added or modified, so I figured those are redundant and should be deleted as well. This leads to another point: under the registry branch is the Prefetch setting that should also be disabled:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters\EnablePrefetcher (DWORD value defaults to 3, to disable = 0)

    Is this correct?
      My Computer

  2. Brink's Avatar
    Posts : 48,886
    64-bit Windows 10 Pro for Workstations build 19635
    Thread Starter
       #2

    Hello Soyabeaner, :)

    There's no need to change the registry with the service disabled.

    It is safe to delete the contents of the "C:\Windows\Prefetch" folder (cache) if wanted. If Windows is still prefetching anything, the folder will get repopulated with whatever it wants to prefetch.

    When superfetch is disabled, there's also really no need to change the "EnablePrefetcher" DWORD.

    SuperFetch - Change Prefetch Data to be Cached - Windows 7 Help Forums
      My Computers

  3. f14tomcat's Avatar
    Posts : 47,426
    Triple boot - Win 10 Pro, Win 10 Pro Insider (2) - (and a sprinkling of VMs)
       #3

    @Brink ... Shawn, if this rolls out "officially" in RS5, heads-up if you are not already aware.

    Take a gander thru here: no superfetch service at 1809??? - Windows 10 Forums
      My Computers

  4. Brink's Avatar
    Posts : 48,886
    64-bit Windows 10 Pro for Workstations build 19635
    Thread Starter
       #4

    Interesting.
      My Computers


  5. Posts : 26
    many
       #5

    Note that you disable a lot more that only superfetch if you disable the SYSMAIN service!!!

    - prefetch
    - superfetch
    - RAM compression
    - readyboost
    - ...

    But I disable it too. Don't need these fancy optimizations.
      My Computer


 

Tutorial Categories

Enable or Disable SuperFetch in Windows Tutorial Index Network & Sharing Instalation and Upgrade Browsers and Email General Tips Gaming Customization Apps and Features Virtualization BSOD System Security User Accounts Hardware and Drivers Updates and Activation Backup and Restore Performance and Maintenance Mixed Reality Phone


Related Threads
Our Sites
Site Links
About Us
Windows 10 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 10" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd
All times are GMT -5. The time now is 22:12.
Find Us




Windows 10 Forums