Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a machine with Vista Business SP2 (x86). There are 6 GB of physical RAM on the machine. Looking in the system properties, it does say that I have 6 GB so Vista does see it all.

However, looking at the memory limits on MSDN, it says that 4 GB is the limit for a x86 version of Vista.

I work with virtualization (Virtual PC mostly) and I need to allocate at the very minimum 2 GB of RAM to the virtual box. Even with 6 GB of RAM, Virtual PC often won't start because "not enough memory on the host machine".

I'm wondering, does Vista actually use the whole 6 GB? And if it does, I would be willing to add more memory on the machine, but what is the actual maximum (as the values on msdn wouldn't be correct)?

share|improve this question
up vote 11 down vote accepted

MSDN does not lie. :-) 32-bit versions of Windows are maxed out at 4GB (and actually less when drivers are taken into account). Mark Russinovich's blog has the scoop. I always assumed this was a physical limitation of 32bit OS, but Mark implies its a licensing one:

"All 32-bit Windows client SKUs, however, including Windows Vista, Windows XP and Windows 2000 Professional, support a maximum of 4GB of physical memory".

I may be reading more into this than I should. Either way though, you need a 64bit OS to take advantage.

share|improve this answer
Thanks for your answer, will read the blog – Hugo Migneron Jun 3 '11 at 16:00
It's both. 32 bit addressing limits RAM to 4 GB - if you do the math, a 32 bit system has a maximum of 4 GB. However, most (if not all) 32 bit systems today can use more by utilizing 36 bit addressing (this is how Windows Server Enterprise and Data Center (x86) can get around the 4 GB limit). However, the systems must support 36 bit addressing (which most do) but Microsoft has chosen not to implement for client OSs or "low level" (Standard and below) editions of Windows Server. More information can be found here: – Multiverse IT Jun 3 '11 at 16:18

It is a limitation of x86- fundamentally, a 32-bit process cannot address more than 4GB, with half reserved for the kernel. However, if you were running multiple processes and had more than 4GB RAM, there's no reason that the OS could not set these 4GB "windows" into different sections of physical RAM. The reason that the different Windows 64bit versions address different amounts is because fundamentally, 64-bit goes up to something truly insane, and Windows has a lot of room to play with here.

That is, to be a little more direct, then sure, Vista probably will use the whole 6GB- but you still can't allocate more to an individual process, it would only help you if you were running several memory-intensive processes.

share|improve this answer

This limitation is inherent in all 32-bit operating environments due to the binary nature of our computers. 2 (bits) ^ 32 = 4,294,967,296 bits or 4 GigaBytes of maximum addressable memory, including all in-system memory such as on graphics cards (some 32-bit operating systems get around this with different hacks). The fact that Vista can "see" the installed 6 GB indicates that your hardware (motherboard and CPU) likely is capable of supporting a 64-bit operating system.

For more information Arstechnica had a nice write up on why upgrading to 64-bit is good.

share|improve this answer

4GB is all you theoretically can address based on the 32-bit OS, minus a portion for video memory, usually bringing it down to 3.25GB on most current systems. You would need to go to 64-bit Vista for it to see all your memory.

If you decide that you want to re-format and do that, if you can get the media (if you have an OEM version, you need a 64-bit OEM version can probably purchase this cheaply from the manufacturer of your PC), there is no difference between 32-bit and 64-bit licensing for the same version of the OS (32-bit Vista Ultimate to 64-bit Vista Ultimate). Your same product key will work.

Do a full backup of your data first.

share|improve this answer
Thanks, Vista does "see" it though, it says so in the system properties. I see what you mean though (unfortunately, a format isn't an option, the box is x86, not 64 bits) – Hugo Migneron Jun 3 '11 at 16:00
It may recognize it in some form, but it will not use it. I have added to my original post. What do you mean by the "box" is x86 not 64-bits? Virtually every PC for years is capable of running a 64-bit OS provided there are drivers for it. You would just need to re-install as a 64-bit OS after you check for driver compatibilty on the manufacturer's web site. – KCotreau Jun 3 '11 at 16:04
@Hugo You would just need to re-install as a 64-bit OS: This would mean purchasing a new 64-bit copy of the code + license (usually packaged together). At this point, if you're considering getting Vista 64-bit, I would personally recommend you upgrade to Windows 7 64-bit. Check if your system can upgrade here – Xantec Jun 3 '11 at 16:25
Xantec, your comment in not correct. He may need to purchase the media, typically $20, from the manufacturer of his PC (if it came pre-installed, otherwise for retail versions, you can buy a replacement disk without a key from Microsoft), but his current license and key good for either 32-bit or 64-bit use. If he does decide to upgrade, which is a valid option, then he would need a new license. – KCotreau Jun 3 '11 at 16:33
thanks for that, I've learned something new – Xantec Jun 3 '11 at 16:45

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .