If you have installed SharePoint 2013 Preview, you might have noticed that pretty much every bit of available memory is being consumed. Where is it all going? Search of course. In my post from last week, I mentioned noderunner.exe. These are the processes that hosts the individual search components and they consume a lot of memory. You’ll have five of them running at any given time. If one is consuming a lot of memory or CPU time, you can kill it but SharePoint will restart the process automatically.
If you happen to be curious as to which noderunner.exe is running which component, the information below will help you. Noderunner.exe is responsible for running the following components:
- Content Processing
Unfortunately Task Manager, doesn’t tell us which noderunner.exe belongs to which component. To find that out, you need to download Process Monitor from sysinternals. After you download the program start it up, and then open the Process Tree by clicking on Tools –> Process Tree. Then look for hostcontrollerservice.exe under wininit.exe –> services.exe. Under this node you will find all five noderunner.exe proceses. When you click on one, you can actually get more details on the process including the command line that was used to launch the process. This command line actually gives us insight into the search component the noderunner is hosting.
In the –noderoot parameter, you will see a path and at the end of the path you will see one of the following (or similar): AdminComponent1, IndexComponent1, QueryProcessingComponent1, AnalyticsProcessingComponent1, or ContentProcessingComponent1. You can probably see how they match up to the components mentioned earlier. The path listed here is also the location of the individual component logs of search which may be useful when troubleshooting things in the future.
This may be more information that you have ever cared to know about search. I like to know how things work under the hood though so I thought I would share the info.