Many times I come across the configurations where the servers physically have 4GB memory installed but OS does not see it all. OS usually reports between 512 to 768 MB less!

Running Exchange 2003 on such server with recommended memory tuning parameters as documented in my previous post, makes it even worse because doing this starves the system of available memory. Available MB is the counter to watch on such systems along with Free System PTEs.

So, what causes this to happen? Is it not ok to use the memory tuning in such configurations?

The answer is, why is the system not reporting correct memory and what can you do to address that.

Typically only system above 4GB requires the use of /PAE switch in order for OS to see correct amount of memory by loading PAE kernel. Why would it work in a system with only 4GB RAM installed? The answer lies in PCI-Express based chipsets and how they use MMIO. Microsoft Exchange Team has published a detailed article explaining this.

If you are used to the original guidance of not using /PAE switch on your Exchange 2003 servers, it is time to reconsider.

As organizations refresh their old hardware and are not ready yet to deploy Exchange 2007, they tend to follow their documented build process and overlook the impact of new hardware components on the memory. When they notice it, it is usually because they have a problem with the server and they dig deeper.

So go look at your Exchange 2003 servers and see if they are reporting less memory than actually installed. Maybe it’s time to use /PAE in boot.ini!