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.
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.
105 Comments
View All Comments
redpriest_ - Thursday, February 1, 2007 - link
Did you guys run the 64-bit tests solely on the Intel Conroe platform? Or did you test an AMD based platform as well? Recall that Conroe has a few performance enhancing features that *only* work in 32-bit mode (branch fusioning, for one - some decoder limitations as well).That could explain why a Core 2 Duo system might have seemed slower in 64-bit than in 32-bit mode.
Jeff7181 - Thursday, February 1, 2007 - link
SuperFetch is by far my favorite new feature of Vista. I put my first copy of Vista on my laptop, which has a 5400 RPM hard drive. Opening apps Outlook and VB .NET 2005 EE weren't really slow under XP, but there were those few extra seconds it took to load that would often leave me tapping my finger on the palm rest while I waited. Now under Vista, Outlook, VB .NET 2005 EE, and IE7 all seem to be able to fit in the SuperFetch cache, as they all open nearly instantly with just 1 GB of RAM. I'm considering upgrading to 2 GB just to see what else I can get to open really fast. :Dbldckstark - Thursday, February 1, 2007 - link
Was superfetch disabled when you tried the Readyboost feature in Vista? Whichever way you ran the test it bears mentioning. If it was off, then how does it do with it on? If it was on, it may make a difference in how it relates to XP.Also, as I understand it Vista has a system backup now that creates a "ghost" of the drive. Could you check out this feature and get back to us?
JarredWalton - Thursday, February 1, 2007 - link
I'm not sure it's possible to disable SuperFetch, so I'm pretty sure all testing was done with it on. As far as the "ghost" goes, that's part of System Restore which can be disabled quite easily. I'll have to let the other editors say whether it was enabled or not, though.WT - Thursday, February 1, 2007 - link
What drives me nuts are the plentiful comments about how slow Vista is compared to XP. I mean, anybody hear this before when MS came out with a new OS ? Same thing for XP,W2k,98 ... ad nauseum. Yea, its a new Operating System with more 'toys' built in, what were you expecting ? You aren't gonna load it on your P3/256 RAM rig and enjoy the Vista 'experience'. Damn, this thing runs better than XP on my rig !It's understood that it won't be as quick (keep in mind the OS has been available for retail purchase ... 2 days now) as XP, but drivers will improve that performance gap to a smaller number within 3 months time. I waited until just last year to upgrade to XP (W2K all the way for me !) but find myself with 2 copies of Vista and would prefer to dual boot one and go Vista all-out on the other one.
I griped back in my W2K days about being forced to upgrade due to content (MS games were announced that would only run in XP) so this time around I will be ready.
DX10? Marketing genius !!! We shall force an upgrade upon the masses !! I upgrade frequently, so DX10 and its graphical splendor is a priority, but if I would have to fork over $200 to actually buy Vista, I would be less than impresssed with DX10 eye candy.
EODetroit - Thursday, February 1, 2007 - link
Hopefully, now, finally, Anandtech will start testing motherboards for stability while loaded with the maximum amount of memory. So if the MB supposedly supports 8GB of RAM, you test it with that much, and make sure its stable. I've wanted this done for years... memory is expensive and it sucks to load a MB up and find out it doesn't really work or only works if you cut the speed in half.Thanks.
manno - Thursday, February 1, 2007 - link
... no mention of DRM then? No mention of Linux? Personally I hate Linux, but I've switched to it because of Vista's use of DRM. Not all Microsoft's fault, but they put it in there... My computer, my hardware, I choose what to do with it, not MS, not media companies. Why shouldn't I be able to watch High def content on my old, and once expensive non-HDMI LCD screen?Get a Mac, Apple is the lesser of 2 evils, they aren't the 800lb gorilla in the room. MS could have told media companies to stuff it. Apple has no choice, it's too small, yet their the ones that forced DRM-Light(TM) on the media companies. MS had the media companied force DRM-Oppressive(TM) on them... how the heck does that work?
I can't believe you left Linux out of the final comparison, is it as capable an OS, yes. Not nearly as user friendly, but it also has 0 DRM, doesn't phone-home isn't beholden to any one entity. I'm not against DRM, as a whole, just Vista's implementation. BS like MS creating D3D to subvert open standards like OpenGL, then removing it from the OS, using it's monopoly-based-ridiculous-margins(TM) to finance D3D's uptake, again rather than take an existing standard and expanding on it. They create their own to reinforce their monopoly. I know why they do this stuff I'm just peeved so many people don't give two flying f...
grr...
-manno
mlambert890 - Friday, February 2, 2007 - link
Youre insane dude.. No offense but there just isnt anything else to say. Posts like these always read like the transcript of a Weather Underground meeting in the sixties. "FIGHT THE POWER!!! FIGHT THE POWER!!!"Look out! The black helicopters have deployed from the underground helipad in Redmond and are circling!!! Send up the penguin symbol to summon the dynamic duo - Torvald and Stallman!
Reflex - Thursday, February 1, 2007 - link
There is no more or less DRM in Vista than in XP, or even OS X. The platform does not determine the playback of DRM'd media, the content does. The choice is simple: If you want to play back DRM'd media, then you have to support the decryption scheme that the media requires to decode it. In so doing you have to legally accept the limitations defined by that DRM scheme.It is no different for OS X, Linux, XP or any other OS. They either support the DRM schemes or they do not get to playback the media that uses them. This is why it is unlikely that you will be able to play DRM'd High Definition content anytime soon on Linux. That is the alternative, no support for the content at all.
Also, you can play high definition content on Vista just fine without HDMI/HDCP on your monitor. You simply cannot play back such content if it is coupled to a DRM scheme that requires HDCP, but that is true of every OS. Any other HD content will play back without issue.
Again, there is no difference between DRM on Vista from DRM on any other platform.
pmh - Thursday, February 1, 2007 - link
The DRM in vista is the major reason that I will only install it if physically forced to. Having bought a new Dell in order to get their very nice 24" LCD last december, I have an upgrade coupon which will lie unused until/unless the DRM can be disabled. MS refuses to display HD on my new monitor using Vista? Screw em.