Thursday, July 02, 2009

Virtual Memory

Quick items to share/remind...

Set Minimum and Maximum to the same value between 2-3 times the available RAM on your PC. Making them the same means that Windows does not adjust the amount that is available on the fly.

Dedicated "drive" for Virtual Memory - If possible use a second drive and dedicate it to Virtual Memory, easier for a workstation.

Vista Users - USB memory stick can provide extra RAM via Vista Ready Boost feature. Thanks to Ed Tallmadge for making me aware of this feature though I have yet to take the time to install Vista myself since somewhere along the way I found that I really don't enjoy rebuilding my computers anymore?!?

One general comment on RAM - resist the urge to install a 64 bit OS and "under-power" it by only providing 4gb of RAM. You will likely get poorer performance. You need at least 6gb of RAM, ideally more like 8. I'm not "geeky" enough to explain why in technical terms adequately but the folks I trust on these matters assure me that we shouldn't do it.

Last, keep in mind...your hardware and software combinations are different from mine and others so your mileage will vary! 8-)


iru69 said...

As Steve said, YMMV, so take this with a grain of salt:

1. I'd suggest letting Windows decide the amount of virtual memory that is needed. Unless you're really understand VM, you're more likely to hurt performance than help it. The more RAM you have, the less you should actually need VM.

2. Dedicating a drive just for Virtual Memory is almost always more of a headache/cost than it's worth for any minuscule "gains" in performance and it's a concept whose time has past (i.e. the more RAM you have, the less you need VM, let alone a drive dedicated to VM).

3. Vista Ready Boost doesn't increase the RAM available to applications - it provides a "cache" for retrieving data that would otherwise be stored on a hard drive cache (since for random reads, Flash is much faster than hard drive). If you have an appropriate USB memory stick lying around, it's probably worth it for desktops, but don't expect anything dramatic - some apps might start up a tad faster when you open them.

4. If you have (or plan to have) 4GB of RAM or more, I would recommend Vista x64 (or W7 x64 when it comes out - do NOT invest in XP x64). Pretty much every benchmark I've seen is either inconclusive or the differences in performance are negligible when it comes to running Vista x32 versus x64. I would have to see some specific benchmarks with Revit to be convinced otherwise. My personal experience is that practically speaking, if anything, the perception will be that x64 is faster than x32 (even with 4GB of RAM). Some video games might be the exception.

Lunchbox said...

This post it a little misleading and inaccurate IMO. It seems that Windows memory management is an often misunderstood topic :)

Accurate page file sizing really can only be done by looking at the commit level of a machine when it's typical workload is active. Using that number, you can see how much page file you'd need if, for some reason, everything needed to be paged out.

Setting it to 2 to 3 times the amount of physical memory doesn't make a whole lot of sense as the two aren't really related in that way.

Also, the more physical memory you have the less Windows will probably need to page out modified private memory. Thus the need for a page file is lessened. There's no real good reason someone should have a 24 GB page file on a 8 GB system. If they actually needed a page file that big, they should probably look at getting more physical memory :)

I recommend having a page file on the system volume so that crash dump's can be captured, but, depending on how much physical memory you have you'd really only need maybe a few GB for a kernel memory dump. If there is no page file on the system volume, a crash dump file won't be generated making it pretty hard to diagnose a crash :)

64-bit machines with only 4GB of RAM aren't necessarily "under powered". Moving to a 64-bit OS and 64-bit apps affords those apps an insane amount of virtual address space, regardless of the amount of physical memory in the machine.
Going from 2 to 3 GB's of available address space to 8 TB of available address space is where the benefit of a 64-bit OS lies. That's where the apps like Revit really benefit. Regardless of the amount of physical memory. Sure, without any information on typical memory usage, the more memory the better. But 4GB isn't automatically "under powered" when you move to a 64-bit OS.

Steve said...

Thanks for your comments! This sort of subject always reminds me of Audiophiles who passionately debate about MacIntosh versus "xyz" power amplifiers etc. At some point and many thousand dollars later can the average human detect a difference?

Each item was not mentioned as a cumulative "solution"...just different options. And everything was written with a heavy bias toward Revit at the expense of everything else, other software etc.

Unknown said...

I have Vista Business x64 and 8GB or RAM. I have windows set my min and max amount of VM to 12GB but in the revit worksharing monitor I regularly see the Revit Virtual Memory go up to 30GB. It seems like it ignores the windows limit. Has anyone else seen that?

Anonymous said...

Hey Steve,

Your initial post in this thread could be quite misleading to a lot of people. I strongly side with the 2 following posts, which make a lot more sense. No offence, just trying to be objective...