Symptoms
You encounter one or more of the following symptoms:
-
Users can’t receive email messages or connect to their mailbox.
-
Microsoft Exchange Server stops responding and appears to be frozen.
-
The noderunner process consumes too much memory.
Cause
The noderunner process in Exchange Server can consume an excessive amount of memory when trying to index some items. This behavior causes various performance issues on the server.
Resolution
To fix the issue, limit the amount of memory that the noderunner process can consume. Follow these steps on each Exchange server:
-
Locate the Noderunner.exe.config file in the %ExchangeInstallPath%Bin\Search\Ceres\Runtime\1.0 folder.
-
Open the Noderunner.exe.config file, and then locate the <nodeRunnerSettings memoryLimitMegabytes="0"/> XML node.
-
Set the memoryLimitMegabytes parameter to a value that is 25 percent of the installed server memory. Enter the value in megabytes. If the issue persists after you complete these steps, lower the memoryLimitMegabytes value by five percent, and then test again.
Note: For a server that has Exchange Server 2019 installed and 128 GB of memory, set the memoryLimitMegabytes parameter to a value that’s between 10000 and 32000 (10-32 GB). Search performance will be affected if you set the memoryLimitMegabytes value too low.
-
Run the following PowerShell command to restart the Microsoft Exchange Search Host Controller Service:
Restart-Service HostControllerService -
Run the following command in a PowerShell or Command Prompt window to restart IIS:
IISReset /restart