This article was previously published under Q273998
This article has been archived. It is offered "as is" and will no longer be updated.
IMPORTANT: This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:
256986 Description of the Microsoft Windows Registry
By default, Exchange 2000 Server creates 4 JET heaps for each processor (the Ese.dll file creates these heaps). For example, a 4-processor server has 16 JET heaps. These heaps are distinct, separate memory pools within the Store.exe process. JET (Ese.dll) allocates memory from these private heaps when JET manipulates data and performs maintenance.
Servers that have 4 processors or less perform well with this default heap setting. However, servers that have 4 processors or more and that also have the maximum number of storage groups and Messaging Databases (MDBs) may use more virtual address space than necessary, especially servers that have 1 gigabyte (GB) or more physical random access memory (RAM).
In situations where servers use more virtual address space than necessary, you can reduce the information store virtual address space by reducing the number of JET heaps.
For additional information about the latest service pack for Microsoft Exchange 2000 Server, click the article number below to view the article in the Microsoft Knowledge Base:
301378 XGEN: How to Obtain the Latest Exchange 2000 Server Service Pack
NOTE: This change is intended for Exchange 2000 RTM and not for newer Server Packs.
WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.
To change the number of heaps that JET creates, you need to add a registry value. To do so:
On the Edit menu, click Add Value, and then add the following registry value:
Value Name: MPHeap parallelism Data Type: REG_SZ
If this registry key is blank, the parallelism is four times the number of processors on the computer. If you set the registry value to 0, the parallelism is 3 plus the number of processors on the computer. If you set the registry value to any other number, the parallelism is that number.
On 8-processor computers, it is recommended that you add this registry key and set the value to 11.
Quit Registry Editor.
After you change this value, you must restart the Exchange 2000 information store. You can save a significant amount of virtual address space by making this change.
Heap Definition: Operating systems implement a process-wide heap manager to handle memory operations for the process. A default heap called process-heap is created for each process when the process is started.
This process-heap handles all alloc, free, and realloc calls for memory blocks in that process. In addition, the program or DLLs that are loaded can create custom heaps for their own private uses (such as the Ese.dll file). Such custom heaps exist in the process space, but the memory from these custom heaps is distinct from the memory that is allocated by the process-heap.
For additional information about large amounts of RAM on an Exchange 2000 server, click the article number below to view the article in the Microsoft Knowledge Base:
266096 XGEN: Exchange 2000 Requires /3GB Switch with More Than 1 Gigabyte of Physical RAM