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 = ""
$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

How to Limit NodeRunner.exe High Memory, CPU Usage的更多相关文章

  1. Apache服务器httpd.exe进程占用cpu超过50%的解决方法

    httpd.exe进程占用cpu超过50%,关闭掉Apache服务,cpu应用率立刻下降到0.  重新启动Apache又出现占用cpu高的情况.  原因是:httpd.exe和防火墙配置有冲突. 解决 ...

  2. httpd.exe占用100%CPU

    客户VPShttpd.exe进程占用100%CPU百度搜了下,很多文章: 在网上也没有能够直接找到比较好的解决方法,后来在一个帖子上看到说,有可能是apache与其他的软件冲突了(参考http://t ...

  3. vs2008 启动IE浏览器 出现DW20.exe占用大量cpu 服务器iis 异常调试

    DW20.exe占用大量cpu 服务器iis运行出现异常想查一下故障原因,发现有好几个DW20.exe进程,每个占用20%左右的cpu,在任务管理器中将其终止后,它又自动运行起来了 查了一下DW20. ...

  4. Docker CPU Usage

    背景 当一台机器上跑有多个 Docker Container 的时候,我们需要知道,哪些容器占用了多少资源.采集这些指标,来让我们可以更加好的分配资源给每个 Container. 获取容器CPU使用率 ...

  5. CPU Usage (C#) 测试

    注意:算法仅供参考. cpuusage.cs using System; using System.Collections.Generic; using System.Diagnostics; usi ...

  6. CPU利用率和CPU负荷(CPU usage vs CPU load)

    对于CPU的性能监测,通常用top指令能显示出两个指标:cpu 利用率和cpu负荷. 其中%Cpu相关的内容: us表示用户进程cpu利用率,sy表示系统内核进程cpu利用率,ni表示运行正常进程消耗 ...

  7. Unity Profiler CPU Usage(CPU使用情况)

    在Profiler界面点击左侧CPU Usage,Profiler界面下方Hierarchy窗口会列出各个函数对当前CPU的耗时,从大到小排序. 然后分析,各个函数的耗时是否异常,分析有没有可以优化的 ...

  8. C++第四十二篇 -- CPU Usage

    前言 目的:读取并控制CPU占用率 近期在做CPU Usage方面的事情,让CPU以一种高占用率的状态运行一定的时间,需要读取CPU各个核的占用率,网上关于这方面的资料好少,FQ也只找到了一个WMI的 ...

  9. Getting Physical With Memory.CPU如何操作内存

    原文标题:Getting Physical With Memory 原文地址:http://duartes.org/gustavo/blog/ [注:本人水平有限,只好挑一些国外高手的精彩文章翻译一下 ...

随机推荐

  1. liunx 安装和解压命令

    tar.gz格式 sudo tar -xvf file.tar.gz -C /目录/    //注意C为大写,-C /目录是可选的 zip sudo jar xvf   file.zip  //jar ...

  2. @ControllerAdvice + @ExceptionHandler 使用

    一.简介 @ControllerAdvice,是spring3.2提供的新注解,意思是控制器增强. 下面是它的解释. 大致意思是, 1.表示标有这个注解的类是一个Controller.它有一个默认行为 ...

  3. 数据库简单练习 建表+select

    create table student ( sno int primary key, sname char(20),  sex char(2), birthday datetime, class i ...

  4. java 记录对象前后修改的内容(工具类)

    有时候业务需要,需记录一条记录的修改历史,但是不能为完成任务而硬编码,不靠谱 这种情况可以使用java反射来完成 对对象属性的描述可以通过自定义注解来完成,读取里面的属性进而记录修改历史. 在对象的属 ...

  5. git使用姿势

    IDEA 整合Git 可以在IDEA中Terminal中进行git操作 下面所说的快捷键操作都只是对于IDEA中 拉取提交代码 git pull 从远程仓库更新代码 (ctrl+t) git comm ...

  6. Ajax json交互和SpringMVC中@RequestBody

    Ajax json交互和SpringMVC中@RequestBody 标签: 背景 自己提供出去得接口中参数设置为@RequestBody VipPromotionLog vipPromotionLo ...

  7. 使用GenericServlet实例

    使用GenericServlet实例 package com.kettas.servlet; import javax.servlet.* ; import java.io.* ; public cl ...

  8. Java之多线程 Atomic(原子的)

    一.何谓Atomic? Atomic一词跟原子有点关系,后者曾被人认为是最小物质的单位.计算机中的Atomic是指不能分割成若干部分的意思.如果一段代码被认为是Atomic,则表示这段代码在执行过程中 ...

  9. 孕龙逻辑分析仪 ZeroPlus Logic Analyzer

    Voltage Translation for Analog to Digital Interface ADC http://openschemes.com/2010/03/23/zeroplus-l ...

  10. 《Go语言实战》Go 类型:基本类型、引用类型、结构类型、自定义类型

    Go 语言是一种静态类型的编程语言,所以在编译器进行编译的时候,就要知道每个值的类型,这样编译器就知道要为这个值分配多少内存,并且知道这段分配的内存表示什么. 提前知道值的类型的好处有很多,比如编译器 ...