O que é o processo do Host de Serviço (svchost.exe) e por que tantos estão em execução?

O que é o processo do Host de Serviço (svchost.exe) e por que tantos estão em execução?

O que é o processo do Host de Serviço (svchost.exe) e por que tantos estão em execução? Se você já abriu o Gerenciador de Tarefas, deve ter se perguntado por que há tantos processos do Host Service em execução. Você não pode fechá-los e certamente não os iniciou. Então, o que eles são?


Os processos do Service Host atuam como um shell para carregar serviços de arquivos DLL. Os serviços são organizados em grupos relacionados e cada grupo é executado em uma instância diferente do processo Host Service. Dessa forma, um problema em uma instância não afeta outras instâncias. Esse processo é uma parte vital do Windows que não pode ser impedida de ser executada.



1. Então, qual é o processo do Host de Serviço (svchost.exe)?

Aqui está a resposta, de acordo com a Microsoft:

O que é o processo do Host de Serviço (svchost.exe)? Svchost.exe é um nome de processo de host genérico para serviços executados em bibliotecas de vínculo dinâmico.

Mas isso não nos ajuda muito. Algum tempo atrás, a Microsoft começou a mudar grande parte da funcionalidade do Windows de depender de serviços internos do Windows (que eram executados a partir de arquivos EXE) para usar arquivos DLL. Do ponto de vista da programação, isso torna o código mais reutilizável e provavelmente mais fácil de atualizar. O problema é que você não pode iniciar um arquivo DLL diretamente do Windows da mesma forma que pode executar um arquivo executável. Em vez disso, um shell que é carregado de um arquivo executável é usado para hospedar esses serviços DLL. E assim nasceu o processo Service Host (svchost.exe).



2. Por que há tantos Hosts de Serviço em execução?

Se você já consultou a seção Serviços no Painel de Controle, provavelmente notou que o Windows requer muitos serviços. Se cada serviço for executado em um único processo do Host de Serviço, uma falha em um serviço poderá desligar todo o sistema Windows. Em vez disso, eles são separados.


Os serviços são organizados em grupos lógicos que estão todos relacionados de alguma forma, portanto, uma única instância do host de serviço é criada para hospedar cada grupo. Por exemplo, um processo do Service Host executa os três serviços relacionados ao firewall. Outro processo do Host de Serviço pode estar executando todos os serviços relacionados à interface do usuário e assim por diante.

Nos dias do Windows XP (e anteriores), quando os PCs tinham recursos muito mais limitados e os sistemas operacionais não eram tão otimizados, muitas vezes era recomendado parar de executar serviços desnecessários para o Windows. Atualmente, não recomendamos mais a desativação de serviços. Os PCs modernos tendem a ser carregados com memória e processadores de alta potência. Acrescente isso ao fato de que a forma como os serviços do Windows são gerenciados nas versões modernas (e quais serviços são executados) foi simplificada e a exclusão dos serviços que você acha que realmente não precisa não tem mais nenhum impacto.


Dito isso, se você perceber que uma instância específica do Service Host, ou um serviço relacionado, está causando problemas, como uso excessivo contínuo de CPU ou RAM, você pode verificar os serviços específicos envolvidos. Isso pode pelo menos dar uma ideia de por onde começar com a solução de problemas. Existem algumas maneiras de ver exatamente quais serviços são hospedados por uma determinada instância do Service Host. Você pode verificar no Gerenciador de Tarefas ou usando um ótimo aplicativo de terceiros chamado Process Explorer.


3. Confira os serviços relacionados no Gerenciador de Tarefas

Se você estiver usando o Windows 8 ou 10, os processos são exibidos na guia “Processos” do Gerenciador de Tarefas com seus nomes completos. Se um processo estiver hospedando vários serviços, você poderá visualizar esses serviços simplesmente expandindo o processo. Isso facilita a identificação dos serviços pertencentes a cada instância do processo Service Host.


Você pode clicar com o botão direito do mouse em um serviço individual para interrompê-lo, visualizá-lo no aplicativo "Serviços" do Painel de Controle ou até mesmo pesquisar on-line por informações sobre o serviço.


Se você estiver usando o Windows 7, as coisas são um pouco diferentes. O Gerenciador de Tarefas do Windows 7 não agrupou processos da mesma maneira, nem mostrou nomes de processos regulares, mas apenas mostrou todas as instâncias em execução de "svchost.exe". Demorou um pouco de exploração para determinar os serviços relacionados a uma instância específica de "svchost.exe".

Na guia “Processos” do Gerenciador de Tarefas no Windows 7, clique com o botão direito do mouse em um determinado processo “svchost.exe” e escolha a opção “Ir para o serviço”.

Isso o levará à guia "Serviços", onde todos os serviços executados nesse processo "svchost.exe" estão selecionados.

Você pode ver o nome completo de cada serviço na coluna "Descrição", para poder optar por desabilitar o serviço se não quiser executá-lo ou corrigir o motivo pelo qual está causando problemas.

4. Verifique os serviços relacionados através do Process Explorer

A Microsoft também fornece uma excelente ferramenta avançada para trabalhar com processos como parte de sua linha Sysinternals. Baixe o Process Explorer e execute-o - é um aplicativo portátil, então você não precisa instalá-lo. O Process Explorer oferece todos os tipos de recursos avançados.


Para nossos propósitos aqui, no entanto, o Process Explorer agrupa serviços relacionados em cada instância de “svchost.exe”. Eles são listados por seus nomes de arquivo, mas seus nomes completos também são mostrados na coluna "Descrição". Você também pode passar o ponteiro do mouse sobre um dos processos “svchost.exe” para ver um pop-up com todos os serviços relacionados a esse processo, mesmo aqueles que não estão em execução no momento.


O processo do Service Host (svchost.exe) pode ser um vírus?

O processo em si é um componente oficial do Windows. Embora seja possível que um vírus tenha substituído o Host de Serviço real por seu próprio executável, é muito improvável. Se quiser ter certeza, você pode verificar o local do arquivo subjacente do processo. No Gerenciador de Tarefas, clique com o botão direito do mouse em qualquer processo de host de serviço e escolha a opção “Abrir caminho do arquivo”.

Se o arquivo estiver armazenado na pasta Windows System32, você pode ter certeza de que não está lidando com um vírus.

Adicione um comentário do O que é o processo do Host de Serviço (svchost.exe) e por que tantos estão em execução?
Comentário enviado com sucesso! Vamos analisá-lo nas próximas horas.