Hot-add memory configuration

[This topic is intended to address a specific issue called out by the Exchange Server Analyzer Tool. You should apply it only to systems that have had the Exchange Server Analyzer Tool run against them and are experiencing that specific issue. The Exchange Server Analyzer Tool, available as a free download, remotely collects configuration data from each server in the topology and automatically analyzes the data. The resulting report details important configuration issues, potential problems, and nondefault product settings. By following these recommendations, you can achieve better performance, scalability, reliability, and uptime. For more information about the tool or to download the latest versions, see "Microsoft Exchange Analyzers" at https://go.microsoft.com/fwlink/?linkid=34707.]  

Topic Last Modified: 2006-02-22

The Microsoft® Exchange Server Analyzer Tool queries the Win32_Computer System Microsoft Windows® Management Instrumentation (WMI) class to determine whether the server supports hot-add memory capabilities. The Exchange Server Analyzer also queries the Win32_OperatingSystem WMI class to determine the following:

  • Is the /3GB option set in the Boot.ini file.

  • Is the physical address extensions (PAE) kernel loaded.

  • What edition of the operating system is running on the server.

Finally, the Exchange Server Analyzer queries the following registry entry to determine whether the DynamicMemory configuration parameter exists and is set correctly:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

If the Exchange Server Analyzer determines that all of the following criteria are true, Exchange Server Analyzer displays an error message:

  • The computer supports hot-add memory and, by default, the facility is enabled.

  • The computer is running Microsoft Windows Server™ 2003, Enterprise Edition or Windows Server 2003, Datacenter Edition.

  • The PAE kernel is loaded.

  • The /3GB option is set in the Boot.ini.

  • The DynamicMemory registry configuration parameter is not set, is set to a value of 0, or is set to a value larger than 3.

Note

If the computer supports hot-add memory, but the hardware manufacturer disables the facility by default, the Exchange Server Analyzer displays a warning message instead of an error message.

The hot-add memory facility was introduced in Windows Server 2003, Enterprise Edition and Windows Server 2003, Datacenter Edition to let system administrators add more physical memory to a computer without restarting it. This feature is useful on servers that support memory-intensive relational database applications such as Microsoft SQL Server. However, because Exchange Server cannot use more than 4 GB of physical memory, this feature is not useful to Exchange Server.

Not all computers support hot-add memory. For the computers that do, some hardware manufacturers enable the facility by default, and others provide controls within the Basic Input Output System (BIOS). If, during the boot process, hot-add memory is enabled, the operating system kernel must pre-allocate space to handle any future memory that may be added to the computer. Therefore, kernel resources are allocated based on the capabilities of the computer instead of what is actually installed. Kernel memory is a precious resource on computers that run Microsoft Exchange Server. Because the kernel may allocate significant amounts of resource to memory that may never be installed, and due to the nature of physical memory used by Exchange Server, additional performance and scalability may be achieved by disabling the hot-add memory facility. Leaving the feature enabled may cause the maximum size of the paged pool to be much lower than expected. This may cause a severe decrease in performance, system lock-ups, and, ultimately, a service outage.

Examples of expected maximum paged pool sizes (more is better):

  • 240 MB   A computer that has 4 GB of physical memory without hot-add memory support or support is disabled

  • 210 MB   A computer that has 4 GB of physical memory, but can support up to 32 GB of hot-add memory

  • 160 MB   A computer that has 4 GB of physical memory, but can support up to 64 GB of hot-add memory

Important

This article contains information about editing the registry. Before you edit the registry, make sure you understand how to restore the registry if a problem occurs. For information about how to restore the registry, view the "Restore the Registry" Help topic in Regedit.exe or Regedt32.exe.

To correct this problem on computers that run Windows Server 2003 Service Pack 1 (SP1) or later

  1. Set the following registry parameter to disable the hot-add memory feature:

    Path

    HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

    Value

    DynamicMemory

    Type

    REG_DWORD

    Data

    0x1

    Note

    The value for this configuration parameter is expressed as the number, in gigabytes, of maximum addressable physical memory, including hot-add memory, if the physical memory installed at boot time is not greater. By setting the value to 1, the kernel reserves space for a total of 1 GB of system memory, or the total amount of physical memory installed at boot time, whichever is greater..

  2. Restart the computer

To correct this problem on computers that run Windows Server 2003 without SP1 installed

  • Contact your hardware vendor to determine whether the hot-add memory facility can be disabled in the BIOS.

  • If hot-add memory cannot be controlled through hardware, the recommended approach is to upgrade to Windows Server 2003 SP1 and follow the resolution steps here to implement the DynamicMemory parameter. If you cannot upgrade to SP1, the alternative is to set the /NOPAE option in the Boot.ini file. Setting this option will force the computer not to recognize any memory greater than the 4 GB boundary. Use this option on computers that run Windows Server 2003 before SP1, but you should not use it on computers that run SP1 as it may unintentionally disable new features including Data Execution Prevention (DEP) support.

For More Information

For more information about hot-add memory support in Windows Server 2003, see Hot-Add Memory Support in Windows Server 2003 (https://go.microsoft.com/fwlink/?linkid=57183).