Creating an Exchange Server 2003 test system led to an important discovery
My company wanted to assess a Microsoft Exchange Server 2003 add-on on a miniature test network before rolling it out on our live server. Because we buy only laptops for our staff and no servers were available for a test network, I installed Windows Server 2003 on a Dell Latitude D630 laptop loaded with 4GB of RAM. However, I had problems finding the Intel GM965 graphics driver, so I downloaded the Windows XP version of the driver and ran the installer in compatibility mode. The driver installed fine, but to be sure, I ran several programs over a period of two days to ensure that the system was stable before installing Exchange 2003.
When it came time to install Exchange 2003, I remembered that Microsoft recommends enabling the /3GB option in the boot.ini file to prevent fragmentation of memory when a system has more than 1GB of RAM. (See “Optimizing Memory Usage for Exchange Server 2003” at technet.microsoft.com/en-us/library/aa998057.aspx.) After enabling this option and rebooting the system, the logon screen took a bit longer than usual to load but nothing else seemed unusual.
I installed Exchange 2003 as I have done many times before. After rebooting the system, everything seemed much slower. I let the system run without interaction, but every few hours the system would blue screen. The source of the problem varied, but I often saw that the source was acpi.sys.
Guessing that something went wrong during installation, I reinstalled the system from scratch, repeating each step. Eventually I realized that the problem always occurred after enabling the /3GB option. After reading more about the /3GB option, I determined that only 1GB of RAM was being reserved for the OS; because the GM965 graphics chip reserves 256MB of RAM for video use, the /3GB option was causing the OS to run out of memory. When I disabled the /3GB option, almost magically everything began running perfectly. As I found out the hard way, the /3GB option shouldn’t be used on systems in which the graphics memory is shared with the system memory. Although you don’t typically run graphics cards on Exchange servers that use shared memory, this lesson learned might be useful to other people who create test systems.