TechRepublic : A ZDNet Tech Community

Microsoft Windows

Host: Mark Kaelin
Contact

Understand how SuperFetch uses RAM to enhance system performance

SuperFetch increases the performance of Microsoft Windows Vista. You should know how it does it.

——————————————————————————-

I recently received a phone call from a business associate who had just got a new laptop with Windows Vista Home Premium with 2GB of RAM and an ATI Radeon video card with 512MB. He was happy with the system’s overall performance, but he was concerned about the amount of available RAM on his system.

He told me that at any given time while using the system under normal conditions, with very few applications running, he would access the Performance tab in Windows Task Manager and discover that the amount of free memory in the Physical Memory panel would read 10MB or less. He then went on to say that his old Windows XP system with 1GB of RAM typically would, under similar circumstances, have at least 500MB to 700MB of free memory showing in the Available memory section of the Physical Memory panel.

He was surprised that there would be such a huge difference between the two operating systems’ use of memory and came to the conclusion that Vista was just a memory hog. He then asked me what would cause Vista to use all of the system’s available memory?

My answer to him was that what he was witnessing was a Vista performance enhancement called SuperFetch and the fact that he had very little free memory available was a good thing — not a bad thing.

Since other Vista users may have the same reaction as my friend, I thought that a detailed explanation of how SuperFetch works would make a good topic for the Windows Vista Report.

This blog post is also available in the PDF format as a TechRepublic Download.

Comparing Vista to XP

Let’s start by comparing the Performance tabs on similarly equipped XP and Vista systems just to see the difference. On the left of Figure A is Windows XP and on the right is Vista.

Figure A

Comparing performance

Both systems have 1GB of RAM, but this can be obscured by the fact that XP measures in kilobytes while Vista measures in megabytes. However, if you convert both figures to gigabytes, it looks more equal.

XP:     982,380KB = 959.355MB = 0.936GB 

Vista: 	1,022MB = 0.998GB

Both systems are running only Internet Explorer and Paint. But, if you look at the available memory in XP, it comes out to be about 589MB. Yet, the Vista system has only5 MB of available memory.

The reason for this difference is that Windows XP treats RAM as a resource to be used only when needed while Vista treats RAM as a cache and uses almost all of it as soon as it becomes available.

The SuperFetch advantage

In order to effectively use the available RAM as a cache, Vista employs the SuperFetch technology to efficiently manage the use of that RAM. The SuperFetch memory management scheme is multipronged.

To begin with, SuperFetch tracks the applications that you use most often. As it does so, it builds a database and constantly updates it as you work. Using this database as a reference, SuperFetch instructs Disk Defragmenter to make sure that those applications are strategically positioned on the hard disk where they can be loaded into memory very quickly with the least amount of physical movement of the hard disk’s read-write heads.

Then, each time you turn on your system, SuperFetch preloads those applications that you use most often into memory. As such, when you actually go to run your favorite application, it loads up much more quickly from the RAM cache than if it had to be read from the hard disk and loaded into RAM.

While the process as I’ve described so far sounds like a complete system, it’s only part of the picture — SuperFetch has a much bigger role to play in order to keep this system as effective as possible over time.

Because RAM is a volatile environment and many applications are all vying for space at the same time, SuperFetch employs an I/O prioritization technology, in which applications are marked as either a low- or high-priority I/O application.

With this system, SuperFetch will temporarily sideline a low-priority I/O application when a high-priority I/O application takes precedence. As it does so, SuperFetch keeps track of the previous priority levels in order to ensure the system remains responsive over time.

For example, let’s suppose that you’re writing a document in Word and have been working on it steadily for a while. All the time that you’re using it, Word is recognized as the high-priority I/O application and takes precedence. When you go to lunch, Word becomes inactive and other background tasks, such as Disk Defragmenter, realize that the system is idle and begin to go to work.

When that happens, Disk Defragmenter becomes the high-priority I/O application and Word becomes a low-priority I/O application, so SuperFetch moves Word out of RAM to the paging file to make room in RAM for Disk Defragmenter to do its job. Once Disk Defragmenter finishes, SuperFetch will reload Word back into RAM so that when you get back from lunch, Word is as responsive as it was when you left — no waiting for Word to be reloaded into RAM.

What do you think?

Now that you know that Vista treats RAM as a cache rather than as a resource, you can understand why the amount of free memory in the Physical Memory panel on the Performance tab in Windows Task Manager is very small figure. If you have comments or information to share about Windows Vista’s SuperFetch, please take a moment to drop by the Discussion area and let us hear.

Greg ShultzGreg Shultz is a freelance Technical Writer. Previously, he has worked as Documentation Specialist in the software industry, a Technical Support Specialist in educational industry, and a Technical Journalist in the computer publishing industry. Read his full bio and profile.

Print/View all Posts Comments on this blog

Thanks for the memory management Mark W. KaelinTechrepublic Moderator | 07/09/08
Straight comparison? tim uk | 07/11/08
Yup Oz_Media | 07/11/08
Vista preformance sderf@... | 07/18/08
Slow as snails sderf@... | 07/26/08
RE: Understand how SuperFetch uses RAM to enhance system performance Anthony.V | 07/09/08
So, how come all the HD thrashing then? ... OldER Mycroft | 07/09/08
Didn't you just answer your own question? itpro_z | 07/09/08
The illustrated example was a 1GB underpowered Vista machine ... OldER Mycroft | 07/10/08
Interesting idea Mark W. KaelinTechrepublic Moderator | 07/10/08
I'm not a 'People's Champion' - more a 'Devil's Advocate'... OldER Mycroft | 07/11/08
I doubt that. Timbo Zimbabwe | 07/11/08
Why would you ever need an IT Consultant ? Unless ... OldER Mycroft | 07/11/08
Benchmarks Mark W. KaelinTechrepublic Moderator | 07/11/08
So your dual-boot system has 1GB then, does it?... OldER Mycroft | 07/11/08
More Gigabytes Mark W. KaelinTechrepublic Moderator | 07/11/08
Well, I'm running Crysis in DX10 on an XP gaming rig ... OldER Mycroft | 07/11/08
I'm afraid you lost me Mark W. KaelinTechrepublic Moderator | 07/12/08
Sorry Mark, but you are being deliberately obtuse ... OldER Mycroft | 07/12/08
Me? Obtuse? Mark W. KaelinTechrepublic Moderator | 07/12/08
"Walks all over" ?? itpro_z | 07/10/08
Sadly, you are missing my point ... OldER Mycroft | 07/11/08
Sheesh! Timbo Zimbabwe | 07/11/08
Whatever you're on - reduce the dosage ... OldER Mycroft | 07/11/08
First of all Oz_Media | 07/11/08
Benchmarking Timbo Zimbabwe | 07/11/08
You are already comparing apples and oranges with Vista & XP ... OldER Mycroft | 07/11/08
Yo, bubba... think! Oz_Media | 07/11/08
End all argument... ken.meyerkorth@... | 07/11/08
Doesn't this all hinge on 1 rather important criteria ?... OldER Mycroft | 07/11/08
poor old mycroft inertman@... | 07/11/08
Your alias should read "brain-inertman@" ... OldER Mycroft | 07/11/08
cute, just kidding inertman@... | 07/12/08
On the Ball Old Boy Richard Turpin | 08/09/08
Staff cappy at upselling and incorrect page file size Oz_Media | 07/11/08
Interesting point regarding Pagefile sizes ... OldER Mycroft | 07/11/08
Disagree on store reps mswift@... | 07/25/08
This sounds like Jaqui | 07/10/08
The difference is... itpro_z | 07/10/08
I Agree steveschwab | 07/11/08
Seems like it could make a PC slower in some ways... bkramsey | 07/11/08
I'm with you, and made that exact point above ... OldER Mycroft | 07/11/08
Vista vs. The Gaming Sector rbmacdougall@... | 07/15/08
gaming... bkramsey | 07/18/08
Re: gaming rbmacdougall@... | 07/18/08
Here you go Oz_Media | 07/11/08
RE: Understand how SuperFetch uses RAM to enhance system performance byn99@... | 07/11/08
Thanks for the info angelo_elibz24@... | 07/12/08
RE: Understand how SuperFetch uses RAM to enhance system performance invrabbit@... | 07/12/08
RE: Understand how SuperFetch uses RAM to enhance system performance HBE | 07/15/08
SuperFetch and Virtual Machines martink@... | 07/17/08
RE: Understand how SuperFetch uses RAM to enhance system performance radmanx10@... | 08/04/08

What do you think?

White Papers, Webcasts, and Downloads

Recent Entries

TR on Twitter

Archives

TechRepublic Blogs



Administrator's Guide to TCP/IP, Second Edition
Maintain your critical TCP/IP system and ensure reliable, safe remote access. Get the expert advice and solutions to handle Windows networking, Cisco routing, documentation, and troubleshooting.
Buy Now
Quick Reference: Linux Commands
Reduce stress and speed up resolutions with the easiest command references right at your fingertips. You'll receive a PDF file covering Linux, packed with the most common commands you'll need and use daily.
Buy Now

SmartPlanet

Click Here