Exchange 2003 memory optimalization

Maximizing virtual address space

It is best to monitor the virtual address space for the Information Store on large mailbox servers to make sure that performance and stability does not decrease. The easiest way to do this is to monitor the VM Largest Block Size counter of the MSExchangeIS performance object in the Performance utility. This value is shown in bytes. After you start the computer, it is typical to see a sharp decrease in the largest virtual memory block size. However, after a day or two of operation, the value approaches a typical operating level. A value for the largest free virtual memory block that is more than 200,000,000 bytes (about 200 MB) indicates a healthy server. If you notice a lower value than this, monitor the server more closely. If you experience a low virtual address space:

  1. If you have 1 GB or more of physical memory installed, make sure that the /3GB switch is set in the Boot.ini file if the following conditions are true on the server:
    • The server is home to mailboxes or public folders.
    • The operating system is Windows 2000 Advanced Server or Windows Server 2003.

    If the server does not have any mailboxes or public folders on it, such as a mail gateway, we do not recommend that you use the /3GB switch.

  2. If Exchange Server 2003 is installed on a Windows Server 2003-based server, and if it has the /3GB switch set, make sure that the /USERVA=3030 switch is set in the Boot.ini file. If Exchange Server 2003 is installed on a Windows 2000-based server, make sure that the server is running Windows 2000 Service Pack 3 (SP3) or later.
  3. If you have 1 GB or more physical memory installed, configure the HeapDeCommitFreeBlockThreshold registry value in the following registry key, and then restart the server:
    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession Manager
    Value name: HeapDeCommitFreeBlockThreshold
    Value type: REG_DWORD
    Value data: 0x00040000 (recommended)
    Value default: not present

To add the /3GB and /USERVA switches to your Boot.ini file, simply open Boot.ini in a text editor such as Notepad, add the /3GB and the /USERVA=3030 parameters to the startup line, and save your changes. The changes will not take effect until you reboot the system.

The boot.ini will look like this :

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)WINDOWS=”Windows Server 2003, Enterprise” /noexecute=optout /fastdetect /3GB /USERVA=3030

The memory optimilization error in the event viewer will only disapear when the registry key is edited with : 00040000