32 bit Windows computers and the 4Gb RAM memory limit

There is a lot of confusion about how much memory a 'normal' 32 bit Windows PC can use - which hopefully will disappear once 64 bit systems become commonplace.

The bottom line is that there is almost no point in running a PC - be it desktop workstation or server - with more than 4GB of RAM memory if it is running any 32 bit version of Windows.

32 bit Windows takes a maximum of 4GB of virtual memory and, by default, splits it down the middle into two 2GB chunks - 2GB for the Operating System kernel and 2GB for the application(s).

And that is it. Using any special flags or switches like /3GB or /PAR will not allow your server to see or use the 8 or 32 GB of RAM you've installed.

So whilst the mantra 'more RAM' is good, 'more than 4 GB' is not better!

So what about tall these flags that can be used on the boot.ini file to alter the behaviour of any 'NT' derived operating system in regards to RAM?

One of the best explanations can be found here where the authors make very clear the difference between physical and virtual memory.

The boot flags are detailed here:

http://www.microsoft.com/whdc/system/platform/server/PAE/PAEmem.mspx
http://support.microsoft.com/kb/283037
http://support.microsoft.com/kb/316739/
http://www.microsoft.com/whdc/system/platform/server/PAE/pae_os.mspx
http://support.microsoft.com/kb/833721
http://www.microsoft.com/whdc/system/platform/server/PAE/PAEdrv.mspx


If you are running an Exchange server then special rules apply as well!