Very succinctly put, SuperFetch is a technology which allows Windows to manage the amount of random access memory in the machine it runs on more efficiently. SuperFetch is part of Windows’ memory manager; a less capable version, called PreFetcher, is included in Windows XP. SuperFetch tries to make sure often-accessed data can be read from the fast RAM instead of the slow hard drive.
Myths About SuperFetch
There are a lot of myths going around about SuperFetch, the most predominant probably having to do with how Task Manager reports memory statistics. If you open Task Manager (in Windows 7), it’ll tell you Total, Cached, Available, and Free. The problems arise from the “Cached” figure since this figure is generally substantially higher than the “Free” figure.
When people look at the Task Manager, and they see the figure for “Cached” compared to the number of “Free”, people assume that only very little of their memory is available for the applications they are about to launch. What they forget is that the Cache filled by SuperFetch and the standard caching mechanism runs on a lower priority; in other words, memory requests by applications will always supersede SuperFetch.
In other words, whatever you see in the “Cached” figure is actually accessible to applications.
And this brings us to the question of what to do with RAM. I have 4GB of main memory in my main desktop machine, and I would find it a total waste if the operating system did not use it to make my computing experience smoother. Isn’t that why I got 4GB of top-quality RAM in the first place? To make my machine faster?
Enable or Disable SuperFetch from Registry
- Hold the Windows Key, while pressing “R” to bring up the Run dialogue box.
- Type “Regedit“, then press “Enter“.
- The Registry Editor window appears. Navigate to the following location in the Registry.
- Session Manager
- On the right side, double-click on “EnableSuperfetch“. If this value doesn’t exist, right-click the “PrefetchParameters” folder, then choose “New” > “DWORD Value“.
- Give “EnableSuperfetch” one of the following values:
0 – to disable Superfetch
1 – to enable prefetching when the program is launched
2 – to enable boot prefetching
3 – to enable prefetching of everything
- Select “OK“.
- Close the Registry Editor.
SuperFetch is something all operating systems should have. I didn’t buy 4GB of top-notch RAM just to have it sit there doing nothing during times of low memory requirements. SuperFetch makes my applications load faster, which is really important to me – I come from a BeOS world, and I like it when my applications load instantly.
SuperFetch’ design makes sure that it does not impact the system negatively but only makes the system smoother. Because it runs at a low-priority, its cache doesn’t take away memory from the applications you’re running