O comportamento do svchost.exe mudou na Atualização para Criadores do Windows 10 (Build 1703)?

O comportamento do svchost.exe mudou na Atualização para Criadores do Windows 10 (Build 1703)?

Hoje atualizei para a Atualização de Criadores executando a configuração do ISO montado localmente. Quando voltei para o meu computador, abri o Gerenciador de Tarefas e vi que meu uso de memória estava muito maior do que antes (agora são quase 6 GB de uso de memória em modo inativo após o login, em vez de 2-3 GB com a versão anterior do Windows) - os processos revelou que havia mais de60diferentes instâncias de svchost.exeexecução. Este valor de 6 GB é apenas para memória de processo - não incluindo memória usada para cache ou "standby".

Corri tasklist /svcpara obter uma lista de quais serviços estavam em quais processos e ela lista quase todas as instâncias do svchost.exe como tendo apenas um serviço em execução (com exceção de algumas instâncias que executam alguns serviços do sistema).

Aqui está minha saída:

Image Name                     PID Services
========================= ======== ============================================
System Idle Process              0 N/A
System                           4 N/A
smss.exe                       440 N/A
csrss.exe                      612 N/A
wininit.exe                    700 N/A
csrss.exe                      708 N/A
services.exe                   776 N/A
lsass.exe                      784 KeyIso, Netlogon, SamSs, VaultSvc
svchost.exe                    888 PlugPlay
svchost.exe                    908 BrokerInfrastructure, DcomLaunch, Power,
                                   SystemEventsBroker
fontdrvhost.exe                936 N/A
svchost.exe                   1000 RpcEptMapper, RpcSs
svchost.exe                    104 LSM
winlogon.exe                   544 N/A
fontdrvhost.exe                420 N/A
svchost.exe                   1072 DeviceInstall
dwm.exe                       1136 N/A
svchost.exe                   1164 BFE, CoreMessagingRegistrar, MpsSvc
svchost.exe                   1424 lmhosts
svchost.exe                   1432 W32Time
svchost.exe                   1440 nsi
svchost.exe                   1448 wudfsvc
svchost.exe                   1528 hidserv
svchost.exe                   1628 Dhcp
svchost.exe                   1716 Dnscache
svchost.exe                   1748 EventLog
WUDFHost.exe                  1792 N/A
svchost.exe                   1908 TimeBrokerSvc
svchost.exe                   1952 NlaSvc
NVDisplay.Container.exe       1968 NVDisplay.ContainerLocalSystem
svchost.exe                   1324 Themes
svchost.exe                   1596 ProfSvc
svchost.exe                   1944 EventSystem
svchost.exe                   1052 netprofm
svchost.exe                   2116 StateRepository
svchost.exe                   2256 SENS
svchost.exe                   2296 AudioEndpointBuilder
svchost.exe                   2304 FontCache
(etc)...

Eu sei que você pode configurar serviços individuais para serem executados em sua própria instância de svc com o sc config <serviceName> type= owncomando, mas que eu saiba, nunca executei esse comando.

Dei uma olhada rápida Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servicese parece que Typefalta nos valores-chave da maioria desses serviços o bit de sinalização 0x10que controla se um serviço é executado em sua própria svchost.exeinstância ou não. Eu me pergunto o que poderia ter efetuado essa mudança.

Alguém mais observou esse comportamento antes ou depois de instalar a Atualização para Criadores do Windows 10? Se for uma alteração na configuração padrão, terá alguma implicação no desempenho ou na estabilidade do sistema?

Suspeito que isso aumentará a estabilidade do sistema porque, se um serviço travar, não derrubará outros serviços - mas isso tem um custo enorme de RAM - mas nunca experimentei um serviço travar em mim - ou pelo menos já notei isso ( em vez disso, o pior problema que tive foi wuauservconsumir 100% da CPU por horas a fio - e isso não é um problema que o isolamento do processo resolverá).

(Acabei de notar: eles finalmente adicionaram uma barra de endereço ao Editor do Registro!)

Responder1

Sim esteé uma mudança na Atualização para Criadores se você usa um PC com mais de 3,5 GB de RAM. Aqui, todos os serviços são executados em seu próprio svchost.exe para ver melhor qual serviço causa problemas ou evitar a falha de outros serviços se um serviço travar um svchost.exe.

Se o seu PC tiver mais de 3,5 GB de memória, você poderá notar um aumento no número de processos no Gerenciador de Tarefas. Embora esta mudança possa parecer preocupante à primeira vista, muitos ficarão entusiasmados em descobrir a motivação por trás desta mudança. À medida que o número de serviços pré-instalados cresceu, eles começaram a ser agrupados em processos conhecidos como hosts de serviço (svchost.exe) no Windows 2000. Observe que a RAM recomendada para PCs para esta versão era de 256 MB, enquanto a RAM mínima era de 64 MB. Devido ao aumento dramático na memória disponível ao longo dos anos, a vantagem de economia de memória dos hosts de serviço diminuiu. Conseqüentemente, desagrupar serviços em PCs com muita memória (mais de 3,5 GB de RAM) executando Windows agora nos oferece a oportunidade de fazer o seguinte:

  • Aumente a confiabilidade: quando um serviço em um host de serviço falha, todos os serviços no host de serviço falham. Em outras palavras, o
    processo host de serviço é encerrado, resultando no encerramento de todos
    os serviços em execução nesse processo.

  • Aumente a transparência: o Gerenciador de Tarefas agora lhe dará uma visão melhor do que está acontecendo nos bastidores. Agora você pode ver quanto serviços individuais de CPU, memória, disco e rede estão consumindo.

    insira a descrição da imagem aqui

  • Aumente a segurança: O isolamento de processos e os conjuntos de permissões individuais para serviços aumentarão a segurança.

Então não se preocupe, esta é uma boa mudança na v1703 e está tudo bem.

Mas existe uma maneira de reverter isso. Isso foidescoberto por um usuáriode um site que trata de ajustes do Windows.

Então, execute regedit.exe, acesse HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Controle crie um DWORD de 32 bits SvcHostSplitThresholdInKBe configure-o para um número grande (maior em comparação com sua RAM de instalação).

informação relacionada