The Impact of SuperFetch on Vista Memory Usage and Performance

As we've already explained, the premise behind SuperFetch is simple - it's an intelligent software mechanism that monitors frequently used pages and does its best to keep them in memory. In other words if you run Photoshop a lot, SuperFetch will take notice and try to keep Photoshop.exe and its associated libraries in main memory so long as you don't need that memory for anything else. The real world impact of SuperFetch is tremendous: the more memory you have, the more your frequently used applications will load very quickly.

SuperFetch works like this: Vista will load anything it needs to load in memory first, and any applications you manually run will also be loaded into memory. Any memory left over is fair game to be used by SuperFetch as a cache of frequently used pages. Vista keeps track of what memory pages are frequently requested and what files they are tied to, and based on that data SuperFetch will populate as much free memory as it can with pages it believes you will need in the future. This data contains both frequency and temporal history, so not only how often but when you run these applications will influence what SuperFetch does at any given time.

SuperFetch has a number of counters and data structures that have to be loaded into main memory to make this whole process work. The end result is that SuperFetch is part of what makes Vista's memory requirements greater than XP's, but if you've got the memory to spare the payoff is huge.

While it's very difficult to benchmark the impact of SuperFetch well, in our usage of Vista if you have enough memory it is a tremendous ally. Honestly SuperFetch is the biggest reason, in our opinion, to move to the x64 version of Vista so you can use even more memory. Although we found that 2GB of memory is still quite passable under Vista, the new sweet spot if you happen to multitask a lot is 4GB - in no small part due to how well SuperFetch utilizes the additional memory. Do keep in mind that you'll need to make sure your motherboard has proper BIOS support for 4GB and also make sure Vista x64 has driver support for all of your peripherals before committing to the move.

In an ideal world, you'd have more than enough memory for SuperFetch to go out and pull all of your regularly used pages into main memory so that all applications would load without waiting on your hard drive. In reality however, the vast majority of computers have less than 2GB of memory, and when multitasking there's simply not that much room in memory to keep other large applications cached. SuperFetch wouldn't be a very useful technology if it kept cached pages active in memory even when you needed that memory for other applications, and thus if you run out of memory SuperFetch will begin swapping its cached pages out to disk from main memory.

SuperFetch is intelligent however; as soon as you are done with the application that evicted cached data from main memory, SuperFetch will bring those frequently used pages back into main memory.

Repopulating the SuperFetch buffer is a time and disk intensive process; think about how long it takes to copy 1GB of data off of your disk and you'll have a good idea of how long it will take for SuperFetch to recover evicted data. With a good amount of historical data, SuperFetch will often take a couple of minutes after Vista starts up to begin pulling data into memory from the disk, which means you'll be hearing quite a bit of disk activity as it does this. This also means that a faster disk will help SuperFetch behave more seamlessly, although you're still better off spending money on more memory to keep SuperFetch from having to page back to disk.

Quick Recommendations

How much RAM do you really need for Windows Vista? We recommend a bare minimum of 1GB of memory for all Vista users, 2GB if you're a power user but don't have a lot running at the same time, and 4GB if you hate the sound of swapping to disk. While SuperFetch definitely makes applications load faster when it works, it's still difficult to say for sure how effective it is without more testing time. Routines can sometimes change, so it will be interesting to see how fast SuperFetch can adapt to new usage patterns. We're also not sure how frequent gaming (which can easily use several GB of data in a session) will affect SuperFetch, so that's something that we will have to assess more as time passes.

How Much RAM? ReadyBoost
Comments Locked

105 Comments

View All Comments

  • BPB - Thursday, February 1, 2007 - link

    quote:

    Quick launch is just...stupid, and ugly. All it is is additional shortcuts, and they waste taskbar space. I think a small menu that appears and disappears on the fly would be nicer.


    If you want Quick Launch to work that way, just add the icons you want into the Qucik Launch folder. Then unlock your taskbar and drag the bar which allows the display of the Quick Launch icons all the way left. Then lock your taskbar. Now you can just click the arrow that shows in the taskbar and it will display all your Quick Launch icons snd "disappear on the fly". It's not perfect, but it's closer to what you want. No wasted space AND you get your Quick Launch icons.
  • darklight0tr - Thursday, February 1, 2007 - link

    Quick Launch is one on my favorite features in Windows, because it allows you to quickly launch commonly used programs. I just wish Microsoft would have enhanced it with additional functionality. I have to use a 3rd party program to the features I want to Quick Launch.

    Despite the issues with x64, that's the version I will get when I migrate to Vista. I just wish Microsoft would have been able to release Vista as a x64 only OS. The availability of a 32bit version of Vista will keep the migration to x64 to a crawl.
  • creathir - Thursday, February 1, 2007 - link

    I cannot stand it... it does drive me nuts...
    Will most users not use it? I highly doubt that. Turning it off is not as easy as "1...2...3... OFF!"
    It does involve some tinkering to get it to turn off...
    The problem is, this is how things should have been from the beginning, but we have been spoiled by the lack of security. I really do not find that it gets in the way or anything like that.

    quote:

    It's as if Microsoft spent a good portion of the past few years working on an enhanced security design that nobody will actually use.


    I'm not sure if I would QUITE go that far... given the vast majority will have NO CLUE on how to turn it off…

    Just my thoughts.

    - Creathir
  • Locutus465 - Friday, February 2, 2007 - link

    http://vistasupport.mvps.org/turn_off_user_account...">http://vistasupport.mvps.org/turn_off_user_account...

    One of the many links I found by going to start and typing into the new Windows Search box located there in Vista :)

    Search is going to be one of the biggest selling points, works much better in Vista than it did in XP (I've used it in both).
  • Aikouka - Thursday, February 1, 2007 - link

    Jarred's right, it's actually very easy to turn off. Although if you turn it off, Windows will bug you to no end in their protection center to turn it back on (which you can turn that off too :P). I ended up turning it off when trying to install drivers for my Realtek ALC888 codec on my Gigabyte GA-965P-DQ6, because at first, the driver install kept looping and asking if I really wanted to install unsigned drivers. I kept hitting yes, they kept going back and prompting me. After Vista said the driver install failed and asked if I'd like to run it in a higher privileged mode, I did so. Then the install told me that I needed to be <b>ON VISTA</b> to install the drivers. I ended up installing a different set of drivers that I didn't even expect to work with the ALC888-DD.

    Also, to add in with drivers, UAC caused a weird issue with the 100.54 drivers from nVidia. When UAC prompted you, the screen fades into a B&W gray-ish hue ( kind of like when shutting down XP ), but when you're running DualView on Vista and you hit a button to close the prompt (being it accepting the action or whatever), the other screen literally freaks out. It goes to some weird graphical pattern for a second and then goes back to normal. Although the problem doesn't stay, it's quite noticeable out of the corner of my eye.
  • JarredWalton - Thursday, February 1, 2007 - link

    http://www.google.com/search?hl=en&q=vista+tur...">Easy as 1-2-3, or just http://technet2.microsoft.com/WindowsVista/en/libr...">get it from Microsoft. My feeling is that most people will *want* it off, even if they don't know how to shut it off, and I'll reword that sentence appropriately. :)
  • Jedi2155 - Thursday, February 1, 2007 - link

    Is there still Memory Address limitation with the 32-bit version of Vista?

    Like say, I had a SLI board (eVGA 680i in particular), and I wanted more than 2 GB, would I still hit the 2.25 GB wall due to address bus or does Vista gets around this and is actually able to address the 4 GB if I had that installed? Or is my only option is still go with x64 version of Vista....
  • JarredWalton - Thursday, February 1, 2007 - link

    It depends on motherboard and BIOS as well as the OS. AFAIK, you can't get more than 3.5GB (and often only 3GB) of accessible memory with any 32-bit OS on x86. The top 512MB is reserved. Perhaps it is OS dependent and you can get closer to 4GB, but for MS operating systems I think it's always been 3.5GB max. Whereas in XP you needed to use the /3gb switch for the OS, on Vista you use:

    BCDEDIT IncreaseUserVA [size]

    Or something like that. I don't know if the maximum is any different on 32-bit Vista than 32-bit XP, but I would bet it's the same.
  • Ryan Smith - Thursday, February 1, 2007 - link

    You're almost right. It's possible to get all 4GB(and more) on a 32bit system when using Physical Address Extension. However most consumer level boards don't implement this at the hardware level past what's required to support the NX bit(which also requires PAE), so most people can not get all 4GB in 32bit mode. With XP and Vista, you can get all 4GB as long as PAE is fully supported, however actually using PAE to get 4GB+ brings about some compatibility/performance problems, which is why 64bit addressing is a cleaner solution.

    The /3gb switch is an entirely different thing, it adjusts the 2/2 split between user processes and the kernel so that user processes can go up to 3GB by taking some memory from the kernel's space(which also can cause problems, oy).
  • Spoelie - Thursday, February 1, 2007 - link

    I haven't read the article yet (am doing so in a minute) but just a thought by having a first look at the article index: I was wondering what impact Aero would have on power consumption. We know that it runs the UI on the graca, so the graca would be in use all the time. Is the load on it high or low? You can collect a lot of data on such a thing (power consumption while idling, moving windows around, ... on vista with aero, without aero, on winxp...)

    It could be that it gets a mention in the review, it's just not apparant from the index. I'll apologise beforehand if it does.

Log in

Don't have an account? Sign up now