Enterprise Vault uses MSMQ memory in a heavy duty way. The non-adjustable default settings for KernelMemThreshold, that Microsoft used prior to Windows 2000 SP4, is potentially problematic and could result in an error. A low setting of KernalMemThreshold in combination with untuned values for PoolUsageMaximum and PagedPoolSize can cause performance issues with Enterprise Vault.
Note: The below text references information directly from Microsoft Support articles 811308 and 312362.
Important: This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
322756 How to back up and restore the registry in Windows
Microsoft Support Article 811308 - Addition of KernelMemThreshold:
In certain circumstances, you may want to raise the threshold because an application, a driver, or a system component is consuming kernel memory. Garbage collection is done by the kernel only when the paged pool memory consumption reaches 80 percent. However, Message Queuing stops functioning at 80 percent of paged pool memory consumption. If you set the kernel memory threshold above 80 percent, this makes sure that Message Queuing does not go into "low memory mode" until the Windows Memory Manager starts cleanup.
In other circumstances, you may want to lower the threshold to limit the amount of kernel memory that is used by Message Queuing.
To change the kernel memory threshold, follow these steps:
- Install the hotfix that is mentioned in this article. (If running Windows 2000 SP4, if version is greater proceed to step 2)
- Add the following registry key:
HKEY_LOCAL_MACHINE\Software\Microsoft\MSMQ\Parameters\KernelMemThreshold of data type DWORD
The default is 80. The value can range from 1 to 99. Anything else is converted to 80.
Note When you create this value the Decimal option must be selected. If you select Hexidecimal, the default value of 80 is used.
To change the kernel memory threshold on a clustered Message Queuing server, follow these steps:
- Install the hotfix that is mentioned in this article on each cluster node. (If running Windows 2000 SP4, if version is greater proceed to step 2)
- Add the following registry key of data type DWORD on each cluster node:
HKEY_LOCAL_MACHINE\Software\Microsoft\MSMQ\Parameters\KernelMemThresholddd the following registry key of data type DWORD on the active node in the cluster:HKEY_LOCAL_MACHINE\Software\Microsoft\MSMQ\Clustered QMs\MSMQ$[Clustered resource name]\Parameters\KernelMemThreshold
Microsoft Support Article 312362 - Adjusting PoolUsageMaximum and PagedPoolSize:
- Start Registry Editor (Regedt32.exe).
- Locate and then click the following key in the registry:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Memory Management
- On the Edit menu, click Add Value, and then add the following registry value:
Value name: PoolUsageMaximum
Data type: REG_DWORD
Value data: 60
Setting the value at 60 informs the Memory Manager to start the trimming process at 60 percent of PagedPoolMax rather than the default setting of 80 percent. If a threshold of 60 percent is not enough to handle spikes in activity, reduce this setting to 50 percent or 40 percent.Value name: PagedPoolSizeSetting PagedPoolSize to 0xFFFFFFFF allocates the maximum paged pool in lieu of other resources to the computer.
Data type: REG_DWORD
Value data: 0xFFFFFFFF
Caution The 0xFFFFFFFF PagedPoolSize setting is not recommended for use on 32-bit Windows Server 2003-based computers that have 64GB of RAM. This will potentially bring the Free System PTE entry down and can cause continuous reboot of the computer. For this configuration, carefully choose a value based on the requirements and available resources.
- Quit Registry Editor.
- Restart the server for the changes to take effect.
Identified in Windows 2000 SP4 and addressed in a Hotfix.
Microsoft Support Article 811308.
Applicable in all supported Microsoft Windows releases as illustrated in the Enterprise Vault Compatibility Guide.