Fix for Memory leak by Noderunner.exe


Issue: My virtual development machine is allocated 8 GB RAM out of 16 GB of Host. Still it runs very slow. In order to develop things I have to stop the Search service and memory consumption reduced to ~5GB from 6-7GB. But this is just a work around what if I need to build some module which requires Search service.

A quick investigation in Task Manager highlight Memory usage by search components are much large then other processes. Several NodeRunner.exe processes consume lots of Memory and CPU. The culprit processes are Microsoft SharePoint Search component.


Although there is no problem with just killing the noderunner.exe processes in Task Manager; SharePoint creates them again almost immediately.


The architecture of search has undergone lot of changes in SharePoint 2013. Many of the core components are replaced by the FAST Search components. Below are a few new components which are added in the new architecture

  • Crawl Component
  • Content Processing Component
  • Query Processing Component
  • Index Component
  • Analytic Processing Component

All these components run as a process called ‘noderunner.exe’. On a default single server installation of SharePoint there will five instances of noderunner.exe (one for each of the component listed above). There is another process called ‘Host Controller’, which monitors the noderunner processes. If any of the noderunner.exe fails, the host runner will restart that process.


1. Open SharePoint 2013 Management Shell and type in:

             Set-SPEnterpriseSearchService -PerformanceLevel Reduced


2. To ensure the setting has been changed enter the following command:



3. Open NodeRunner process configuration file below in Notepad

C:\Program Files\Microsoft Office Servers\15.0\Search\Runtime\1.0\noderunner.exe.config.
Update <nodeRunnerSettings memoryLimitMegabytes=”0″ />.
This is the configuration to limit NodeRunner process memory usage, replace 0 to acceptable number like 100 or 250.



4. Restart SharePoint Search Host Controller service. Better if it is possible to restart the server.


Search has become the most integral part in SharePoint 2013 now. So, it’s not a good idea to stop search service or any of its component. But one can limit the memory usage or reduce the performance level for Search Service. By default the performance level for a Search Service is set to Maximum.

Happy SharePointing 🙂 !!

Published by Mohit Vashishtha

Having extensive experience in software industry as a Team Lead and SharePoint consultant. I have worked with various MS technologies like SharePoint, .Net, AngularJS and Angular 6. I love to learn and share new things which I learn during my experience.

2 thoughts on “Fix for Memory leak by Noderunner.exe

  1. When I tried this method, it did reduce the memeory usage but the search stopped working. After I reverted back the config settings to 0, the memory usage increased but search started working again.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: