How to Limit NodeRunner.exe High Memory, CPU Usage

How to Limit NodeRunner.exe High Memory, CPU Usage

roblem: NodeRunner.exe is consuming a lot of memory and CPU resulted in performance issues on SharePoint 2013 server.

Solution:
NodeRunner.exe is a SharePoint 2013 Search service component and it is resource hungry. To reduce the CPU and Memory impact of this process, follow below steps:

Step 1: Reduce the CPU impact of the search service
By default SharePoint search uses "maximum" to speed up its search crawling process. To reduce the CPU usage of the search service, run this PowerShell script from any one of your SharePoint 2013 server:

Set-SPEnterpriseSearchService -PerformanceLevel Reduced

This sets Search Service Application crawl component to use less number of threads.


Step 2: Limit the NodeRunner.exe's Memory usage: 

  • Open the configuration file at "C:\Program Files\Microsoft Office Servers\15.0\Search\Runtime\1.0\noderunner.exe.config" 
  • Locate the node "nodeRunnerSettings", Set the value for "memoryLimitMegabytes" attribute to specific value (E.g. 1024). By default its value is 0 (which means unlimited memory). 

Step 3: Restart Search Service
For the above steps to take effect, You have to restart SharePoint 2013 search service. Go to Services console, restart SharePoint Search Host Controller process. Or use the PowerShell cmdlet to restart Search host controller process:

Restart-Service SPSearchHostController

The downside of the above changes: Since you are restricting resources to SharePoint search service, it increases search crawl time! 

Do not limit node runner memory in Production Servers!Instead try increasing the Memory on SharePoint Production servers.

PowerShell to Set NodeRunner config:

#NodeRunner File Path
$NRFile= "C:\Program Files\Microsoft Office Servers\15.0\Search\Runtime\1.0\noderunner.exe.config"
 
#Get the XML
$NodeRunnerConfig = New-Object XML
$NodeRunnerConfig.Load($NRFile)
 
#Set Limit to 100 MB
$NodeRunnerConfig.configuration.nodeRunnerSettings.memoryLimitMegabytes = "100"
$NodeRunnerConfig.Save($NRFile)

#Read more: http://www.sharepointdiary.com/2015/02/limit-noderunner-high-memory-cpu-usage.html#ixzz5OhFQ8yKc

http://www.sharepointdiary.com/2015/02/limit-noderunner-high-memory-cpu-usage.html

posted @ 2018-08-30 20:49 霖雨 阅读( ...) 评论( ...) 编辑 收藏
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

霖雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值