If you’re using Windows Vista, then you’ve probably noticed the new memory requirements. In Windows XP you could get away with 1GB of memory, with 2GB making it run much smoother. To get the same smooth experience from Vista, you really need to double the memory, due in part to some of the new services that Vista is running.
One of these new services is SuperFetch, which analyzes your program usage and pre-caches these programs to make them load faster. For most users (especially gamers) this is relatively useless, and just serves to waste more of the precious memory you’ve loaded up your PC with. This memory is even more critical in the 32-bit flavor of Vista, where most users cannot use more than 3.5GB of RAM, even if you have 4GB or more (read how to enable 4GB of RAM here).
How SuperFetch Works
After Vista loads its core, SuperFetch works by loading frequently used appliations and pages info a cache. Vista keeps track of which memory pages are frequently used (and which files they’re tied to) and will try to use up as much free memory as it can with what it analyzes you’re going to need soon. SuperFetch keeps a history of how often and when you run applications, which influences what is cached. This extra caching is what makes Vista’s memory requirements much greater than XP’s.
SuperFetch also monitors your current usage, so if it has to dump its cache for whatever reason, it will fill it up again once more memory is freed up. It can take a good amount of time to refill the cache, which means you’ll probably notice alot more hard drive activity even when the system is idle. Previously, hard drive thrashing usually meant that Windows was “reacting” to low memory by pushing pages to Virtual Memory, but now this activity could be “proactive”.
Caching “frequently used” libraries isn’t anything new. Even back in Windows 3.1 there were third-party programs that would cache DLLs in an attempt to increase system performance, but more often than not they ended up slowing the system down… it didn’t make sense to cache 4MB of DLLs on a system with only 4MB of RAM. Granted, SuperFetch is alot more intelligent, but the principle remains the same: you need memory above and beyond your normal usage to see any benefit.
In theory, you could cache your entire hard drive if you had enough RAM, but most PCs today only have about 2GB.
Do you need it?
If you’re a multi-tasker, then SuperFetch does have significant performance advantages, but you need butt-loads of memory. The performance advantages really only show themselves if you have more than 4GB of RAM, and because of that, you should be running a 64-bit version of Vista to see all of that extra RAM.
In our testing SuperFetch only offers performance enhancement if you have 4GB of RAM or more, and even then you only shave off fractions of a second when loading programs. If you open up Task Manager you will probably notice very little Free Memory, and nearly half of it taken up as Cached.
Most of this cached information will be immediately flushed as you use your computer. If you’re a gamer, then there really is no reason to fill up your RAM with stuff you’re not going to use. Office users don’t really benefit that much, either, as any serious office user has frequently used applications in Startup.