b'\n_START_ARTICLE_\nSvchost.exe\n_START_PARAGRAPH_\nO svchost.exe (Host de Servi\xc3\xa7o ou SvcHost) \xc3\xa9 um processo do sistema que pode hospedar de um a v\xc3\xa1rios servi\xc3\xa7os na fam\xc3\xadlia de sistemas operacionais Windows NT. O Svchost \xc3\xa9 essencial na implementa\xc3\xa7\xc3\xa3o dos chamados processos de servi\xc3\xa7os compartilhados, nos quais v\xc3\xa1rios servi\xc3\xa7os podem compartilhar um processo para reduzir o consumo de recursos. Agrupar v\xc3\xa1rios servi\xc3\xa7os em um \xc3\xbanico processo conserva recursos computacionais e isso foi particularmente importante para os projetistas do NT, pois criar processos do Windows leva mais tempo e consome mais mem\xc3\xb3ria do que em outros sistemas operacionais, como por exemplo, os da fam\xc3\xadlia Unix. No entanto, se um dos servi\xc3\xa7os causar uma exce\xc3\xa7\xc3\xa3o n\xc3\xa3o tratada, todo o processo poder\xc3\xa1 falhar. Al\xc3\xa9m disso, a identifica\xc3\xa7\xc3\xa3o dos servi\xc3\xa7os componentes pode ser mais dif\xc3\xadcil para os usu\xc3\xa1rios finais. Problemas com v\xc3\xa1rios servi\xc3\xa7os hospedados, particularmente com o Windows Update, s\xc3\xa3o reportados por usu\xc3\xa1rios (e divulgados pela imprensa) como envolvendo svchost._NEWLINE_O processo svchost foi introduzido no Windows 2000, embora o suporte subjacente para processos de servi\xc3\xa7os compartilhados tenha existido desde o Windows NT 3.1.\n_START_SECTION_\nImplementa\xc3\xa7\xc3\xa3o\n_START_PARAGRAPH_\nSua imagem execut\xc3\xa1vel, localizada em %SystemRoot%\\System32\\Svchost.exe ou %SystemRoot%\\SysWOW64\\Svchost.exe (para servi\xc3\xa7os de 32 bits executados em sistemas de 64 bits) \xc3\xa9 executada em v\xc3\xa1rias inst\xc3\xa2ncias, cada uma hospedando um ou mais servi\xc3\xa7os._NEWLINE_Servi\xc3\xa7os executados no SvcHost s\xc3\xa3o implementados como bibliotecas vinculadas dinamicamente (DLLs). As chaves de registro desses servi\xc3\xa7os devem ter um valor chamado ServiceDll na subchave Parameters, apontando para o arquivo DLL do respectivo servi\xc3\xa7o. A defini\xc3\xa7\xc3\xa3o do seu valor de ImagePath ocorre na forma %SystemRoot%\\System32\\svchost.exe -k (grupo de servi\xc3\xa7o; ex. netsvcs). Os servi\xc3\xa7os que compartilham o mesmo processo SvcHost especificam o mesmo par\xc3\xa2metro, tendo uma \xc3\xbanica entrada no banco de dados do Gerenciador de Controle de Servi\xc3\xa7os (SCM). A primeira vez que um processo SvcHost \xc3\xa9 iniciado com um par\xc3\xa2metro espec\xc3\xadfico, ele procura por um valor com o mesmo nome na chave HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Svchost, a qual ele interpreta como uma lista de nomes de servi\xc3\xa7os. Em seguida, ele notifica o SCM de todos os servi\xc3\xa7os que ele hospeda. O SCM n\xc3\xa3o inicia um segundo processo SvcHost para qualquer um desses servi\xc3\xa7os recebidos, em vez disso ele simplesmente envia um comando "start" para o respectivo processo SvcHost contendo o nome do servi\xc3\xa7o que deve ser lan\xc3\xa7ado em seu contexto e cuja respectiva DLL o SvcHost carrega._NEWLINE_De acordo com uma apresenta\xc3\xa7\xc3\xa3o MS de 2003, o m\xc3\xadnimo conjunto de trabalho de um servi\xc3\xa7o compartilhado \xc3\xa9 de aproximadamente 150 KB versus 800 KB para um processo aut\xc3\xb4nomo.\n_START_SECTION_\nTags de servi\xc3\xa7o\n_START_PARAGRAPH_\nA partir do Windows Vista, a identifica\xc3\xa7\xc3\xa3o interna de servi\xc3\xa7os dentro de processos compartilhados (incluindo o svchost) \xc3\xa9 obtida pelas chamadas tags de servi\xc3\xa7o. A tag de servi\xc3\xa7o para cada thread \xc3\xa9 armazenada no SubProcessTag do seu thread information block (TEB). A tag \xc3\xa9 propagada em todas as threads que a thread de servi\xc3\xa7o principal inicia subsequentemente, exceto para threads criadas indiretamente pelas APIs do pool de threads do Windows._NEWLINE_O conjunto de rotinas de gerenciamento de tags de servi\xc3\xa7o \xc3\xa9 atualmente uma API n\xc3\xa3o documentada, embora seja usada por alguns utilit\xc3\xa1rios do Windows, como o netstat, para exibir as conex\xc3\xb5es TCP associadas a cada servi\xc3\xa7o. Algumas ferramentas de terceiros, como ScTagQuery, tamb\xc3\xa9m fazem uso dessa API.\n_START_SECTION_\nSvchost.exe (netsvcs)\n_START_PARAGRAPH_\nNetsvcs \xc3\xa9 um subprocesso usado pelo svchost.exe (netsvcs). Se houver um vazamento de mem\xc3\xb3ria, o svchost.exe consome e congestiona a CPU. Esse problema ocorre porque ocorre um vazamento de identificador no servi\xc3\xa7o Winmgmt ap\xc3\xb3s a instala\xc3\xa7\xc3\xa3o do Windows Management Framework 3.0 no computador. O servi\xc3\xa7o Winmgmt \xc3\xa9 o servi\xc3\xa7o Windows Management Instrumentation (WMI) dentro do processo svchost.exe que est\xc3\xa1 sendo executado na conta LocalSystem.\n_START_SECTION_\nIdentifica\xc3\xa7\xc3\xa3o e gerenciamento de servi\xc3\xa7os hospedados\n_START_PARAGRAPH_\nNo Windows XP e em edi\xc3\xa7\xc3\xb5es posteriores, o comando tasklist /svc inclui uma lista de servi\xc3\xa7os de componentes em cada processo._NEWLINE_No Windows Vista e Windows 7, uma guia "Servi\xc3\xa7os" no Gerenciador de Tarefas do Windows inclui uma lista de servi\xc3\xa7os e seus grupos e IDs de Processo (PIDs); clicar com o bot\xc3\xa3o direito do mouse em uma inst\xc3\xa2ncia do svchost no Gerenciador de Tarefas e selecionar "Ir para o(s) servi\xc3\xa7o(s)" tamb\xc3\xa9m alterna para a lista de servi\xc3\xa7os e seleciona adicionalmente os servi\xc3\xa7os executados na inst\xc3\xa2ncia svchost correspondente._NEWLINE_No Windows 8, a interface do Gerenciador de Tarefas foi simplificada para que cada entrada svchost possa ser expandida com um \xc3\xbanico clique para uma sub-lista de servi\xc3\xa7os em execu\xc3\xa7\xc3\xa3o dentro dela._NEWLINE_O Sysinternals Process Explorer da Microsoft tamb\xc3\xa9m fornece informa\xc3\xa7\xc3\xb5es sobre servi\xc3\xa7os executados em processos svchost.exe quando o usu\xc3\xa1rio passa o mouse sobre a inst\xc3\xa2ncia svchost._NEWLINE_Nenhum dos m\xc3\xa9todos acima permite que o usu\xc3\xa1rio identifique qual dos v\xc3\xa1rios servi\xc3\xa7os em execu\xc3\xa7\xc3\xa3o dentro de uma inst\xc3\xa2ncia svchost aloca um recurso espec\xc3\xadfico, por exemplo, processador, disco, rede ou mem\xc3\xb3ria; o Monitor de Recursos do Windows apenas contabiliza a maioria desses recursos na granularidade de processos. No entanto, contabiliza pelo uso do processador na granularidade de servi\xc3\xa7os indo para a guia "CPU". Uma lista de conex\xc3\xb5es TCP e portas UDP com reconhecimento de servi\xc3\xa7o pode ser obtida usando o comando netstat -b._NEWLINE_Para solucionar outros tipos de problemas com um servi\xc3\xa7o em execu\xc3\xa7\xc3\xa3o dentro de uma inst\xc3\xa2ncia svchost, o servi\xc3\xa7o (ou servi\xc3\xa7os suspeitos de estarem causando o problema) deve ser (todos) reconfigurado para que cada um seja executado dentro de sua pr\xc3\xb3pria inst\xc3\xa2ncia svchost. Por exemplo, sc config foo type=own ir\xc3\xa1 reconfigurar o servi\xc3\xa7o chamado "foo" para executar sua pr\xc3\xb3pria inst\xc3\xa2ncia de svchost. Alterar o tipo de volta para compartilhado \xc3\xa9 feito por um comando an\xc3\xa1logo. O servi\xc3\xa7o deve ser reiniciado para que esse tipo de altera\xc3\xa7\xc3\xa3o entrar em vigor. Este processo de depura\xc3\xa7\xc3\xa3o n\xc3\xa3o \xc3\xa9 infal\xc3\xadvel no entanto; em alguns casos, um heisenbug pode acontecer, o que faz com que o problema desapare\xc3\xa7a quando o servi\xc3\xa7o est\xc3\xa1 sendo executado separadamente._NEWLINE_Um m\xc3\xa9todo mais complexo de solu\xc3\xa7\xc3\xa3o de problemas \xc3\xa9 criar um grupo de servi\xc3\xa7os isolado._NEWLINE_No Windows 10, a partir do release 1703, o svchost foi refatorado pela Microsoft para hospedar apenas um servi\xc3\xa7o por processo, dependendo da especifica\xc3\xa7\xc3\xa3o do sistema. A configura\xc3\xa7\xc3\xa3o padr\xc3\xa3o faz com que os servi\xc3\xa7os sejam hospedados independentemente quando o sistema tiver pelo menos 3.5GB de RAM.'