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!
Erros comuns ao configurar Serviço de Busca do SharePoint 2010
Olá!
Cenário:
Post rápido com dois erros comuns na configuração do serviço de busca (Search) do SharePoint 2010.
Antes de se descabelar, percebam que as soluções desses dois erros são bem simples.
ERRO 1:
CoreResultsWebPart::OnInit: Exception initializing: System.NullReferenceException: Referência de objeto não definida para uma instância de um objeto. em Microsoft.Office.Server.Search.WebControls.CoreResultsWebPart.SetPropertiesOnQueryReader() em Microsoft.Office.Server.Search.WebControls.CoreResultsWebPart.OnInit(EventArgs e)
Se procurar no ULS do SharePoint poderá encontrar esse erro, quando estiver configurando o serviço de busca.
SOLUÇÃO 1:
Bem simples! Dê um IISRESET.
Como você acabou de configurar parte do serviço e o SharePoint já havia carregado os assemblies, agora precisamos fazer com que ele atualizar os assemblies.
ERRO 2:
Error: Access to the path ‘Global\Microsoft.SharePoint.SPIisProvisioningLock’ is denied
Se procurar no ULS do SharePoint poderá encontrar esse erro, quando estiver configurando o serviço de busca.
SOLUÇÃO 2:
Bem simples também! Reinicie os serviços de Timer (SPTimerV4) e Administration (SPAdminV4) do SharePoint.
Abraço!