Desde a instalação da Atualização de Criadores de Queda do Windows 10, tenho um svchost.exe
processo que utiliza constantemente cerca de 14% do tempo da CPU:
Esta svchost.exe
instância é responsável por hospedar três serviços:
O tempo da CPU é consumido por um encadeamento dentro desse processo que o Process Hacker não pode atribuir a nenhum desses três serviços:
Dado que esses três serviços são considerados serviços críticos do sistema, é difícil fazer algo sobre eles. Esses serviços não podem ser interrompidos ou desativados services.msc
e o encerramento do processo aciona uma verificação de bug ( CRITICAL_PROCESS_DIED
). Desabilitar o Firewall do Windows Defender através da interface do usuário de configurações não reduz o uso da CPU.
Estou sem idéias. O que poderia estar causando isso? Como posso depurar isso ainda mais? Existe uma solução alternativa para interromper esses serviços?
Atualização: após algumas depurações com @HelpingHand , isolamos isso no serviço Windows Defender Firewall. O Process Monitor mostra que está constantemente acessando o registro:
Uma exportação CSV de uma captura do Process Monitor, filtrada para esse processo, está disponível aqui .
Eu ainda estou procurando uma maneira de parar esse comportamento.
Atualização 2: a análise com o Windows Performance Analyzer mostra que a maior parte do tempo da CPU é consumida pelo código de rpcrt4.dll
:
Sc config BFE type= own
entãoSc config MpsSvc type= own
Respostas:
Como se vê, isso estava relacionado ao compartilhamento de conexão com a Internet (ICS).
A seguir, gostaria de descrever como cheguei a essa conclusão na esperança de ajudar outras pessoas com problemas semelhantes.
O primeiro passo é identificar o serviço que está causando problemas. Embora o Gerenciador de tarefas do Windows também tenha aprendido a fazer isso recentemente, usei o Process Hacker, que também pode editar a configuração de um serviço.
Clicar duas vezes na
svchost.exe
instância incorreta e selecionar a guia Serviço mostra quais serviços estão sendo executados dentro desse processo:svchost.exe
pode hospedar muitos serviços do Windows ao mesmo tempo, dificultando a identificação de qual serviço está causando problemas. Embora as versões recentes do Windows 10 normalmente isolem serviços quando há RAM suficiente disponível , alguns serviços ainda compartilham um processo.Nesse caso, e a maneira mais fácil de identificar qual serviço está causando problemas é separá-los.
O Process Hacker pode fazer isso. Na guia Serviço das janelas principais , podemos configurar se um serviço pode compartilhar um processo:
Pelo menos dois dos três serviços suspeitos precisam ser configurados como Processo próprio para garantir que eles sejam separados no futuro.
Aparentemente, o Windows Defender não gosta de usuários que se intrometam na configuração de seus serviços; portanto, para alterar com êxito essa configuração, eu precisava
Depois disso, o infrator
svchost.exe
hospeda apenas um único serviço, portanto, temos um suspeito:Para analisar o que está acontecendo dentro do serviço de firewall, usaremos a ferramenta Windows Performance Recorder e Windows Performance Analyzer, parte do Windows ADK .
Começaremos registrando alguns dados. Enquanto o suspeito
svchost.exe
estiver jogando em segundo plano, baixe esse arquivo , adicione-o como um perfil, configure o Windows Performance Recorder assim e inicie uma gravação:Deixe a gravação correr por 30 segundos ou mais e salve a gravação. Após salvar, clique em Abrir no WPA para abri-lo imediatamente para análise.
É aqui que as coisas começam a se tornar complicadas. No meu caso, eu precisava de uma dica de @ magicandre1981 para procurar no lugar certo, em Atividade do sistema → Eventos genéricos . Lá, o número de eventos de RPC parecia suspeito:
Em detalhes, o Firewall do Windows Defender
svchost.exe
estava aparecendo bastante no lado do servidorwin:Start
e noswin:Stop
eventos:O próximo passo foi descobrir quem enviou essas chamadas de RPC. Ao olhar no lado do cliente, outra
svchost.exe
instância parecia suspeita:Na verdade, o Process Hacker não conseguiu detectar um serviço em execução nesse processo, o que também estava causando a carga da CPU de forma consistente:
Nesse caso, o Gerenciador de tarefas do Windows conseguiu identificar o serviço:
De fato, o serviço ficou parado no estado Inicial . Eu o desativei desde que não preciso, e a carga da CPU voltou ao normal após a próxima reinicialização.
Gostaria de expressar minha gratidão a @HelpingHand e @ magicandre1981, cuja ajuda nos comentários tornou isso possível.
Como foi descoberto posteriormente na postagem do TenForums , a redefinição do Firewall do Windows Defender corrige esse problema.
fonte
Internet Connection Sharing (ICS)
serviços? O ponto de acesso WiFi não será mais uma opção?svchost.exe
, dificultando a identificação do serviço que está causando isso. Não sei por que eles não compartilharam um processo host em sua instância.É mais simples: tive sucesso redefinindo as configurações do Firewall do Windows (principalmente se houver um pico relacionado na carga da CPU) usando estas instruções: -
A redefinição do Firewall do Windows Defender para as configurações padrão resolveu o problema.
Espero que isso ajude e funcione para outra pessoa ... Parece um problema bastante difundido.
fonte
No meu caso, depois de tentar várias correções malsucedidas (incluindo algumas das sugestões acima, por exemplo, redefinir o Firewall do Windows), desabilitei o "Serviço de Política de Diagnóstico" e o hogging da CPU finalmente cessou. Esta pode não ser a solução ideal, mas não parece ser um serviço crítico. Veja como desativá-lo:
Agradeço ao canal do YouTube de Ranga Rajesh Kumar por me indicar essa solução.
fonte