Windows Vista for Dummies: Where did all my RAM go?

By hayami.wai, April 17, 2007 12:16 pm

Foreword: Read this article if you are currently in the following situation

  1. You have 1GB of RAM in your computer and had installed Vista on it. A few days later, you noticed that Vista keep reporting a close to 70% usage of RAM. You immediately switch to hysterical mode and start swearing that Vista is a bloat-warez.
  2. You have added 4GB of RAM to your computer (making a total of 4GB because you have 0GB to start with), and prefer/insist to see as much of the 4GB RAM empty and unused all the time. (Which makes me wonder why do you waste your money buying 4GB of RAM in the first place when you don’t intend to have it utilized.)
  3. You just wouldn’t care but want to know the technology behind it

First of all, it is important for you to stop treating the RAM as just a temporary storage medium for executing processs to store their data, but think of RAM as a cache, for data.

SuperFetch
Microsoft has introduced this feature into Vista. In fact, it is nothing new and SuperFetch is the sucessor of prefetch that existed way back in Windows XP. Working on the same principle as prefetch but with improved performance and algorithm, SuperFetch’s main role is to preload the RAM with data and codes of programs. Such that when you call for a particular application, it can be loaded directly from the RAM and executed immedietely rather than reading from the hard disk which will introduce a longer loading time for the application.

SuperFetch works by monitoring and analysing your computer usage pattern, such as which are the programs that you normally use, how frequently are they accessed. Using these data, SuperFetch determines and prioritize the programs to be preloaded into the memory, before you even ask for it. In this way, when the program is called, it will be executed directly from the memory, greatly reducing the time the system takes to execute it. For example, you use Outlook to check your email frequenly. In a normal situation without SuperFetch, your system will have to find and read the codes of Outlook from the hard disk, store the information in the memory, then only is Outlook being executed. This usually takes a substantial amount of time. With SuperFetch, the codes of Outlook is pre-loaded into the memory before you actually call for it. So when you execute Outlook, the codes are read from the memory directly and executed immedietely, removing the step of finding and reading from the hard disk. With this feature, the loading time is reduced significantly.

So what if one day you decided to used a huge program that you hardly use (which SuperFetch didn’t preload it into the memory) but SuperFetch has preloaded so much data into the RAM that it is already near 70% full? In such situation, SuperFetch will unload all the preloaded data from the RAM into the pagefile, creating empty space in the memory to accomodate the new program to be executed. When the program you executed terminates and releases the memory, SuperFetch will once again populate the memory with the data that was evicted earlier. So you need not worry that SuperFetch is consuming all your memory, leaving you with nothing.

To run SuperFetch efficiently, you will need to have a reasonable amount of RAM installed. Obviously with 512MB of RAM, SuperFetch will not be able to do its job since with Windows and a few other applications loaded, there will be little memory left for SuperFetch. The same rules goes since the beginning of computer history, the more RAM the merrier.

How to disable SuperFetch
If you would rather forgo the performance improvement and be happier seeing unutilized memory, you can disable SuperFetch by performing the following steps:

  1. Click Start then Run.
  2. type in services.msc then click OK.
  3. UAC dialog will popup, click on Continue and the Service applet will load.
  4. Scroll down the list on the right and look for and select SuperFetch.
  5. Right click, select Properties and the properties window for SuperFetch will appear
  6. Change Startup type to Disabled, click OK and close the Service applet.

2 Responses to “Windows Vista for Dummies: Where did all my RAM go?”

  1. goldcoaster says:

    Good story. I would think that for 99.9% of users Superfetch should be left alone. What I have read about it suggests it does a great job, much, much better than prefetch in XP.

    http://goldcoaster.wordpress.com

  2. yozora says:

    Unfortunately, I’ve seen quite some people who would rather turn off SuperFetch than to see a high RAM usage.

Leave a Reply

Panorama Theme by Themocracy