Quando o Windows 10 Creators Update foi lançado, havia uma série de problemas em que o Windows Service Host utilizava muita CPU e / ou RAM. Este foi um problema temporário, pois a Microsoft lançou um hotfix para corrigir o problema. Com a atualização do Windows 10 Fall Creators Update chegando, parecia uma boa hora para cobrir isso, caso isso aconteça novamente.
O que é o Windows Service Host?
O Windows Service Host é um serviço abrangente que o Windows usa para cobrir qualquer serviço principal que acessa as DLLs (Dynamic Link Libraries). Quando você vê o Host de Serviço no Gerenciador de Tarefas, também vê uma seta para baixo à esquerda. Se você selecionar isso, verá quais serviços estão incluídos nesse guarda-chuva.
A idéia era criar esses serviços guarda-chuva para organizar recursos em grupos lógicos. Por exemplo, um único host de serviço incluiria todas as transferências do Windows Update e de arquivos em segundo plano. Outro poderia hospedar o Firewall do Windows, Defender e assim por diante. A teoria era permitir que o Windows agrupasse esses recursos para que qualquer programa pudesse usá-los de tal maneira que, se um falhasse ou fosse interrompido, o restante do sistema permaneceria estável.
Se você verificar seu próprio computador, provavelmente verá várias instâncias do Host de Serviço do Windows. Selecione a seta ao lado e veja o que cada um está hospedando.
Nos sistemas Windows pré-Atualização dos Criadores, você verá alguns serviços de Host de Serviço com vários processos dentro deles. Após a atualização dos criadores, agora você vê muitos mais hosts de serviço com serviços individuais. A ideia era facilitar o processo de solução de problemas desagrupando-os.
O Windows Service Host usa alta CPU ou RAM
Então agora você sabe que o Windows Service Host é exatamente isso, um serviço de host que cuida de outros serviços. Quando você vê um host de serviço do Windows usando muita CPU ou RAM, agora também sabe que não é o próprio host, mas um de seus sub-serviços.
Isso geralmente é causado por um processo travado ou algum tipo de erro de configuração ou corrupção de arquivo. A boa notícia é que existem várias maneiras de resolver isso. A má notícia é que o Gerenciador de Tarefas nem sempre informa exatamente qual sub-serviço está causando problemas.
Sempre que você encontrar algum erro do Windows, a primeira ordem do dia será uma reinicialização completa. Salve qualquer trabalho que não queira perder e reinicie o computador. Se o problema desaparecer, ótimo. Caso contrário, siga estas etapas até que o problema seja resolvido.
Uma causa comum de alta utilização da CPU ou RAM é o Windows Update. Sua primeira verificação deve ser ver se há uma atualização em execução.
- Clique com o botão direito do mouse no botão Iniciar do Windows e selecione Configurações.
- Selecione Atualização e segurança e verifique se o Windows está executando uma atualização no momento.
Se a atualização do Windows estiver em execução, você verá uma barra de progresso. Caso contrário, você verá uma mensagem informando que seu dispositivo está atualizado.
A segunda verificação é corrigir os erros do Windows com o Verificador de arquivos do sistema.
- Clique com o botão direito do mouse no botão Iniciar do Windows e selecione Prompt de Comando (Admin).
- Digite ou cole 'sfc / scannow' e pressione Enter.
- Permita que o processo seja concluído.
Se o Verificador de arquivos do sistema detectar algum erro, ele será corrigido automaticamente. Se você ainda estiver vendo alta utilização após executar esse processo, há outra coisa que podemos tentar.
- Digite 'powershell' no prompt de comando que você acabou de usar.
- Digite ou cole 'Dism / Online / Cleanup-Image / RestoreHealth' e pressione Enter.
- Permita que o processo seja concluído.
O DISM é um verificador de integridade de arquivos do Windows que compara arquivos do Windows 'ativos' com o cache do Windows, que possui cópias dos originais. Se detectar algo fora do lugar que não tenha sido modificado por um usuário ou programa autorizado, substituirá o arquivo pelo original.
Interrompa o serviço
Se nenhuma dessas correções funcionar, verifique o serviço que está causando o problema. Precisamos identificar o serviço no Host de Serviço utilizando a CPU ou RAM. Então precisamos parar esse serviço, monitorar e depois partir daí.
- Abra o Gerenciador de tarefas e selecione o host de serviço utilizando toda a sua CPU ou RAM.
- Verifique o processo abaixo. Por exemplo, pode ser o Windows Audio.
- Clique com o botão direito do mouse nesse serviço e selecione Abrir Serviços.
- Clique com o botão direito do mouse no serviço e selecione Parar.
- Monitore seu computador para ver se a utilização diminui.
Você obviamente trocaria o Windows Audio por qualquer serviço que esteja utilizando sua CPU. Todos terão uma entrada de serviço correspondente para que o processo funcione independentemente do que realmente é.
Se a utilização diminuir, você saberá o que está causando isso. No exemplo acima, Windows Audio, desinstalaríamos e instalaríamos um novo driver de áudio. O que você faz a seguir depende inteiramente do que você encontra. Dado o grande número de possibilidades, é impossível para mim dizer exatamente o que fazer a partir daí, mas digitar 'solução de problemas PROCESSNAME' em um mecanismo de pesquisa é um bom ponto de partida. Basta alterar PROCESSNAME pelo processo encontrado na Etapa 2 acima.
Se o sistema local do host de serviço estiver causando alto uso de CPU ou memória, as etapas acima deverão corrigi-lo na maioria dos casos. Caso contrário, você pelo menos agora sabe como identificar o culpado.