DSAccess configuration cache value is non-default
[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 http://go.microsoft.com/fwlink/?linkid=34707.]
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
Open a registry editor, such as Regedit.exe or Regedt32.exe.
Navigate to: HKLM\System\CurrentControlSet\Services\MSExchangeDSAccess\Instance0
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" (http://go.microsoft.com/fwlink/?linkid=3052&kbid=256986).
For more information about DSAccess, see the Knowledge Base article 250570, "Directory Service Server Detection and DSAccess Usage" (http://go.microsoft.com/fwlink/?linkid=3052&kbid=250570).