What is Windows Service Host SuperFetch and how do you fix it?

Windows 10 was a real overhaul of the way Microsoft handles various elements of the traditional operating system, with better support for modern hardware, but  it's still built on the legacy of the past. There are underlying features and bits of code dating back to XP and 2000 and beyond.That's why you'll sometimes run into features like Windows SuperFetch which have been around for years, and they still have their part to play in the modern Windows experience.

What is Service Host SuperFetch? What does it do? And how do you fix it when it goes wrong?

What is Service Host SuperFetch? 

Windows SuperFetch was originally introduced with Windows Vista as a successor to PreFetch. It's a process which analyzes your system—specifically your RAM usage—to generate a profile of the programs and applications you run most often. As you use your system, SuperFetch gradually learns what you run most often and will pre-emptively load elements of those applications onto your RAM so that when you need them, they load up far quicker than they might otherwise.

The main purpose of the feature is to speed up application load times for those running hard drives—especially older ones. Those running a solid state drive (SSD) will not see much improvement from the feature, since by default SuperFetch does not load applications into memory if an SSD is detected on your system. However, the service is active by default. If you run a mixed drive system—like using a larger hard drive for storage purposes while the OS runs on an SSD—it will be able to improve the performance of any applications running from that drive withoutinterfering with SSD operation.

In short, hard drives should see a noticeable improvement in performance thanks to SuperFetch, but SSD-driven applications won't.

How does Service Host SuperFetch go wrong? 

Ask PC Gamer

Want to learn more about how your PC works, and find the solutions to common Windows problems? Check out our archive of Ask PC Gamer how-tos here.

Like so many other Windows features, SuperFetch can occasionally go awry and cause more problems than it fixes. Since SuperFetch is always running in the background, it does make use of some system resources like CPU and RAM, which if you're running a heavily optimized system, or one with particularly weak hardware, could cause slowdowns that you want to avoid. 

SuperFetch may get a little overzealous with its preloading too. Some have reported particular slowdown while booting Windows where their hard drive is forced to load up a bunch of applications before Windows has had time to load its necessary apps and services. That might prove worthwhile if you're going to run all of those apps, but if you're not, SuperFetch ends up slowing down your PC in order to reduce slowdown later, which is counter-intuitive.

A number of Windows users have also noted SuperFetch causing spikes of hard drive and CPU usage, especially during gaming sessions. This appears to be mostly limited to those running systems with less than 4GB of RAM. It's possible that because of the way games will pick up and drop RAM as and when it's needed, that SuperFetch is getting in the way and causing gameplay stutters while everything shuffles around in memory.

Spotting the service

If you want to check in on what effect SuperFetch might be having on your system, you might find it a little hard to spot when you first pull up the Task Manager. That's because like a number of Windows 10 services, SuperFetch isn't run as its own process, or at least, isn't listed as such. It's instead collected under a generic "Service Host."

This is all part of Microsoft moving away from the powerful, but problematic, .exe files, to something more manageable: DLL files. Today DLL files are much more commonly used within Windows, but they require a shell to host them, hence the generic Service Host for SuperFetch. 

To find that process you'll need to scroll through the exhaustive list of Service Host processes to find the one called "Service Host: Superfetch."

How to disable SuperFetch 

If your system is running fine with no slowdowns, it's unlikely you'll see any kind of benefit from turning off SuperFetch. here are much better targets for your optimization efforts if that's the route you want to go down. However, should you be facing spikes of CPU or HDD usage, it's certainly worthwhile disabling SuperFetch, at least temporarily, to see if that can help clear up the issue. Here's how to do it. 

Disable SuperFetch in Windows Services 

  • Press the Windows Key + "R" or alternatively, type "Run" in the Windows 10 search box and click the corresponding app entry in the results list.
  • Type "Services.msc" into the "Open" box and click the "OK" button, or hit Enter.
  • Scroll down the list of services until you find "SuperFetch." Right click on that entry and select "Stop," from the resulting menu. 
  • To stop it from starting again when Windows next boots up, right-click again and select "Properties."
  • In the drop-down menu next to "Startup Type," select "Disabled."

Disable SuperFetch in the registry 

If you find yourself more comfortable digging through the Windows registry to alter some of its functions, you're in luck! You can disable SuperFetch from there too. Here's how. 

  • Press the Windows Key + "R" or alternatively, type "Run" in the Windows 10 search box and click the corresponding app entry in the results list.
  • Type "Regedit" into the "Open" box and click the "OK" button, or hit enter.
  • Within the registry editor, navigate through HKEY_LOCAL_MACHINE—System—CurrentControlSet—Control—Session Manager—MemoryManagement, and select "PrefetchParameters."
  • Open up the "Enabled Superfetch" value by double clicking it.
  • Change its value to 0 to disable SuperFetch. Then click the "OK" button and close down the registry editor.