Symptoms
When this issue occurs, you may experience the following symptoms.
Note By default, Exchange ULS log files are saved in the following location:
Symptom 1
The Content Index State on all mailbox databases is FailedAndSuspended.Symptom 2
The following message is logged in the Unified Logging System (ULS) logs:Note By default, Exchange ULS log files are saved in the following location:
C:\Program Files\Microsoft\Exchange Server\V15\Logging\Search
Symptom 3
The NodeRunner.exe process throws an exception when it tries to allocate more memory than the available memory. In this situation, the following errors are logged:Cause
This issue occurs when the NodeRunners.exe process stops because of an OutOfMemory exception. Either the server is out of memory or the .NET Framework common language runtime (CLR) is forcing a memory allocation limitation on the NodeRunners.exe process. In this situation, NodeRunner.exe tries unsuccessfully to allocate more memory, generates an exception, and then stops.
Resolution
To fix this issue, follow these steps:
- Locate the Noderunner.exe.config file. By default, this file is located along the following path:C:\Program Files\Microsoft Office Servers\15.0\Search\Runtime\1.0\noderunner.exe.config
- Edit the file, and then locate the following key:
- If the value of the key is set to any value other than 0, change it to 0, as follows:
- Restart the Microsoft Exchange Host Controller Service.
About the NodeRunner.exe process
Microsoft Exchange Host Controller Service starts four worker processes, and each is named NodeRunner.exe. NodeRunner.exe is part of the Exchange search component. The individual functionality of each NodeRunner.exe process is set through configuration. The NodeRunner.exeprocess that starts single Admin node is a process of its own. Because NodeRunner.exe is a stand-alone process, it derives some of its operating properties from the NodeRunner.exe.config application configuration file during the start of the Admin node.
The following screen shot shows the four nodes of the NodeRunner.exe process: Admin, Content, Query, and Index.
If you're familiar with SharePoint Server, you probably know how to limit the memory that's allocated to the NodeRunner.exe process by using the application configuration file. However, it's unsupported in Exchange Server 2013 to limit memory allocation for NodeRunner.exe by this method.
The default setting for the minimum memory requirement for NodeRunner.exe is 0. The NodeRunner.exe process can consume and change its memory requirements dynamically, based on current requirements and available memory. However, you can set the upper limit and restrict the volume of memory that Node Runner can access by using the memoryLimitMegabytes parameter in the NodeRunner.exe.config file. If you limit memory usage by NodeRunner.exe, and if the Exchange server can't allocate memory for the NodeRunner.exe operation, the operation may fail with an OutOfMemoryException exception.
The following screen shot shows the four nodes of the NodeRunner.exe process: Admin, Content, Query, and Index.
If you're familiar with SharePoint Server, you probably know how to limit the memory that's allocated to the NodeRunner.exe process by using the application configuration file. However, it's unsupported in Exchange Server 2013 to limit memory allocation for NodeRunner.exe by this method.
The default setting for the minimum memory requirement for NodeRunner.exe is 0. The NodeRunner.exe process can consume and change its memory requirements dynamically, based on current requirements and available memory. However, you can set the upper limit and restrict the volume of memory that Node Runner can access by using the memoryLimitMegabytes parameter in the NodeRunner.exe.config file. If you limit memory usage by NodeRunner.exe, and if the Exchange server can't allocate memory for the NodeRunner.exe operation, the operation may fail with an OutOfMemoryException exception.