In this article we will see how Windows 10/8/7 treat Prefetch and SuperFetch on Solid State Drives. Yesterday we saw how Windows treats Defragmentation on Solid State Drives. Before we start, let me make it clear that it t is not a good idea to disable SuperFetch or Prefetch when using traditional Hard Disk Drives – but for Solid State Drives, it is different!
SuperFetch, Prefetch & SSD in Windows
Every time you run an application in your PC, a Prefetch file which contains information about the files loaded by the application is created by Windows operating system. The information in the Prefetch file is used for optimizing the loading time of the application in the next time that you run it. SuperFetch attempts to predict which applications you will launch next and preloads all of the necessary data into memory. Its prediction algorithm is superior and can predict which next 3 applications you will launch by what time in a day.
In short SuperFetch and Prefetch are Windows Storage Management technologies that provide fast access to data on traditional hard drives. On Solid State Drives they result in unnecessary write operations.
Windows 7/8/10 therefore by default will automatically disable SuperFetch and Prefetch, once it detects an SSD on your system.
The SysMain service is the one which is related to Superfetch. Its job is to maintain and improve system performance over time. It is found in the System32 folder.
Should one for some reason need to manually disable them, this is how one can disable SuperFetch. Run services.msc to open the Services Manager. Scroll down to Superfetch service, which is responsible for maintaining and improving the system performance over time.
Double-click on it to open it Properties box. Click on Stop to stop the process. Make the startup type Disabled and click on Apply.
You will have to restart your computer for the system changes to take effect.
To disable Prefetch in Windows, Run regedit to open the Registry Editor. Navigate to the following registry key:
HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Memory Management \ PrefetchParameters
Double-click on EnablePrefetcher in the right side to open its DWORD value box.
The possible values for EnablePrefetcher are:
- 0 – Disable Prefetcher
- 1 – Application launch Prefetching enabled
- 2 – Boot Prefetching enabled
- 3 – Application launch and Boot Prefetching enabled
The default value is 3. To disable Prefetch, set it to 0. Click OK and Exit.
Incidentally, you can also disable or tweak the Suoerfetcher here – you will see the EnableSuperfetcher DWORD just below it.
The possible values for EnableSuperfetch are:
- 0 – Disable Superfetch
- 1 – Enable SuperFetch for boot files only
- 2 – Enable SuperFetch for applications only
- 3 – Enable SuperFetch for both boot files and applications
If you are a Solid State Drive user, you may want to read about the freeware SSD Life that can check the health of your Solid State Drive and SSD Tweaker which will help you tweak your Solid State Drives.