I recently upgraded my Dell XPS laptop to Windows 10. This laptop has 6GB of RAM and was running Windows 7 for last 3.5 years without any complaints. It took time to boot but once booted, it rocked. After upgrading to Windows 10, I started noticing intermittent lags and applications stopping. A quick looks at Resource Monitor told that disk I/O was peaking at 100%. Unfortunately, I did not capture the image of this so I would just refer to the image from this Superuser Question which is also a good and breif read on the problem.
Tip: Resource Monitor can be opened from Performance tab of Task Manager
Notices this process named
svchost.exe[LocalSystemNetworkRestricted] which is using the disk like crazy. What is this process? Turns out this is a feature named SuperFetch Microsoft introduced in Windows Vista to reduce the startup time of application.
What is SuperFetch?
Wikipedia entry for SuperFetch says this
SuperFetch is a technology that pre-loads commonly used applications into memory to reduce their load times. It is based on the "prefetcher" function in Windows XP. SuperFetch attempts to load commonly used libraries and application components into memory before they are required. It does so by continually analyzing application behavior and usage patterns, e.g. what applications are typically used in the morning after logon. The cache memory is marked with low priority, meaning that if another process needs the memory, it will be given up.
So on the face it, this looks like a good feature to have if a computer algorithm can analyse my use of applications and determine the best time to preload the application into the memory. But what happens when the RAM is filled? Windows would start using a pagefile. A pagefile is stored on the hard drive making it very slow to read from or write to. As Windows tries to load more and more application into the RAM (which by the way is full), the use of pagefile starts going up and so the slow disk I/O. Because my laptop has only 6GB of RAM and I use some heavy applications like Visual Studio on it, I have enabled pagefile. Given the fact that my laptop is 4 years old, I obviously have a slow harddisk on my laptop. This combined with SuperFetch resulted in heavy usage of pagefile and disk I/O peaking to 100%. Stopping SuperFetch seemed like a good idea.
How to stop SuperFetch?
SuperFetch runs as a windows service so stopping it not difficult. If you know how to stop windows services then just search for a service named SuperFetch and stop it. If you do not know how to stop a Windows service and you are on Windows 10, then follow these steps
- In the search bar type
- Click on
Services.mscin the result (usually first one) to open the Service Explorer
- In the Service Explorer, search for a service named SuperFetch and stop it either by click on the Stop link at the top or by right clicking on the service and choosing Stop option from the Menu
If you have decided not to use the SuperFetch feature ever, then why not disable the service so that it does not auto-start the next time you restart your computer. To disable the service, right click on the service name, click on Properties menu. On the dialog that is opened, you should land on the General tab by default. Looks for a dropdown named Startup Type on this tab and select "Disabled" from the dropdown options. Click Ok and you are done.
Should I disable SuperFetch feature?
As with anything in software, the answer is depends. By the description of it, SuperFetch looks like a nice feature. If you have spare RAM that Windows can use to preload some applications that you may or may not use, then you should be able to keep the SuperFetch running without any negative impact on disk I/O. Rather you might notice that the apps that you use regularly are opening quite fast. If you, like me, are still using a moderately equipped machine then it is better to turn off SuperFetch and accept the penalty of apps strting slow.
N.B. - I am trying to get myself familiar with the new world of Windows 10 and hence the use of word "Apps" everywhere. What I really meant is the software installed on your Windows. This does not have to be to the Widnows Apps.