Wednesday, 23 July 2008

Vista memory management - SuperBad, or SuperFetch?

My mate Simon constantly goes on and on about how much of a "resource hog" Windows Vista is. In his day-to-day working life he's building and maintaining desktop PCs for hundreds of imaptient users, and as a result "You can never have enough RAM" has become his constant mantra. Up until now I've always agreed with him. That is, until this morning, when I read an excellent article explaining exactly what Vista does with your PC's RAM. I was startled to find that actually, Microsoft have thought long and hard about memory management, and that Vista actually does things rather well - and I quote: "Vista treats system memory like a cache much more aggressively and effectively than any other version of Windows".

There's a new process called "SuperFetch" (a background task), which constantly fetches data that it thinks you're likely to need (based on your previous program selections and menu commands), and buffers it to RAM. The goal is to treat RAM like a system cache, which means that almost all of it should be in use - rather than older versions of Windows, which would regularly leave large swathes of it untouched, just waiting for a user command to trundle off and hit the hard disk for a large chunk of data.

This is really clever stuff - I take my hat off to Microsoft. The only downside is that SuperFetch is always running, so occasionally when you want to focus all the system resources on just one intensive task, you'll get a little irritated that the disk is busy, filling the cache with things that you know you won't need in the immediate future. Best option? Get a fast hard disk, like raided SATA. Maybe my next system will be a Vista installation... whatever next!

No comments: