Alto consumo CPU e memória noderunner.exe – SharePoint 2013
CENÁRIO:
Olá!
Apesar de ter montando uma máquina virtual de desenvolvimento com um hardware razoável (gastar menos $$) sofri com consumo excessivo de CPU e memória em um servidor com SharePoint 2013, SQL Server 2008 R2 e Visual Studio 2017 instalado.
ERRO:
Não é um erro, mas é um comportamento pesado para um ambiente de desenvolvimento.
SOLUÇÃO:
Analisando um pouco o comportamento do servidor para descobrir o “vilão” da jogada… notei que o processo “noderunner.exe” estava consumindo muita memória e CPU considerável.
Noderunner.exe é um componente do serviço de busca do SharePoint 2013.
Para ambientes de Dev, podemos reduzir o consumo desse serviço. Principalmente se não estamos usando a busca do SharePoint 2013 no desenvolvimento. Inclusive, desabilitar o serviço.
No caso, eu precisava de um “pouco” de busca…
Então, utilizei os passos a seguir para reduzir o impacto da busca no consumo de recursos do servidor.
- Rode o cmdlet Powershell abaixo para reduzir o consumo de CPU
Set-SPEnterpriseSearchService -PerformanceLevel Reduced
- Altere o parâmetro “memoryLimitMegabytes” do arquivo “exe.config”. Por padrão, a configuração é “0” – ilimitado.
C:\Program Files\Microsoft Office Servers\15.0\Search\Runtime\1.0\noderunner.exe.config
- Reinicie o serviço de busca do SharePoint com o cmdlet a seguir
Restart-Service SPSearchHostController
Agora o servidor ganhou “algum” fôlego.
Informações adicionais: https://docs.microsoft.com/en-us/powershell/module/sharepoint-server/Set-SPEnterpriseSearchService?view=sharepoint-ps
Reduced: Total number of threads = number of processors, Max Threads/host = number of processors
Partly Reduced: Total number of threads = 4 times the number of processors , Max Threads/host = 16 time the number of processors
Maximum: Total number of threads = number of processors
Abraço!