Topic Last Modified: 2007-01-17

The Microsoft® Exchange Server Analyzer Tool reads the following registry entries to determine if the size of the Directory Service Access (DSAccess) configuration object cache has been modified from the default value:


If the Exchange Server Analyzer finds MaxMemoryConfig to be present and configured, a non-default configuration message is displayed.

MaxMemoryConfig is an Exchange 2000 Server registry parameter that typically is no longer needed in Exchange Server 2003. MaxMemoryConfig controls the maximum amount of memory that configuration data objects in the DSAccess configuration cache are allowed to consume.DSAccess is an internal component in Exchange 2000 Server and Exchange Server 2003 that controls how all Exchange components access the Active Directory® directory service. The primary function of DSAccess is to maintain information about various directory-related events and operations. For example, DSAccess discovers the Active Directory topology and detects if domain controllers and global catalog servers are available and responding to queries. In addition, all directory queries made by internal Exchange components such as the Microsoft Exchange store are routed through DSAccess, such as recipient resolution, configuration setting lookups, and others. As part of its job, DSAccess maintains an in-memory cache of the results of some of these queries so that if the same information is requested twice, it can be retrieved from the DSAccess cache instead of through another Lightweight Directory Access Protocol (LDAP) query against Active Directory.

In Exchange 2000 Server, the configuration cache was initially set at 25 megabytes (MB) in size. On most Exchange servers this setting was much larger than it needed to be. The MaxMemoryConfig setting was used to reclaim and reallocate some of the memory used by the DSAccess configuration cache. Typically it was configured for 5 MB. Based on internal testing and customer feedback, Microsoft has found 3 MB to be the optimal size, which Exchange Server 2003 uses as an out-of-the-box setting. When upgrading from Exchange 2000 Server to Exchange Server 2003, any manual setting will be preserved. If this Exchange server was upgraded from Exchange 2000 Server to Exchange Server 2003, you should make sure the value for MaxMemoryConfig is no more than 5 MB.

The MaxMemoryConfig value is often used in conjunction with the MaxMemoryUser value, which controls the maximum amount of memory that user data objects in the DSAccess cache are allowed to consume. If you edit or remove the MaxMemoryConfig value as described in the procedure that follows, you should similarly edit or remove the MaxMemoryUser value as described in DSAccess user cache value is non-default.

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 use the MaxMemoryConfig registry value

  1. Open a registry editor, such as Regedit.exe or Regedt32.exe.

  2. Navigate to: HKLM\System\CurrentControlSet\Services\MSExchangeDSAccess\Instance0

  3. Examine or edit the value for MaxMemoryConfig.

The value for this registry entry is in kilobytes (KB). If the value is set to 3000 or less, you should delete MaxMemoryConfig and restart the Microsoft Exchange System Attendant service to default to the Exchange Server 2003 setting.

Before you edit the registry, and for information about how to edit the registry, see the Microsoft Knowledge Base article 256986, "Description of the Microsoft Windows Registry" (

For more information about DSAccess, see the Knowledge Base article 250570, "Directory Service Server Detection and DSAccess Usage" (