Mudança de comportamento do svchost.exe na Atualização de Criadores do Windows 10 (Compilação 1703)?

2

Hoje atualizei para a Atualização de criadores, executando a instalação do ISO montada localmente. Quando voltei para o meu computador, abri o Gerenciador de Tarefas e vi meu uso de memória muito maior do que era anteriormente (agora é quase 6GB de uso de memória em ocioso após o login em vez de 2-3GB com a compilação anterior do Windows). A guia revelou que havia mais de 60 instâncias diferentes de svchost.exe em execução. Esta figura de 6 GB é apenas para memória de processo - não incluindo memória usada para armazenamento em cache ou "standby".

Corri tasklist /svc para obter uma lista de quais serviços estavam em quais processos e ele lista quase todas as instâncias de svchost.exe como tendo apenas um serviço em execução contido nele (com exceção de algumas instâncias que estão executando algumas 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 comando sc config <serviceName> type= own , mas que eu saiba, nunca executei este comando.

Dei uma olhada rápida em Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services e parece que os valores da chave Type para a maioria desses serviços estão sem o bit de sinalizador em 0x10 , que controla se um serviço é executado em sua própria svchost.exe instance não. Eu me pergunto o que poderia ter afetado essa mudança.

Alguém mais observou esse comportamento antes ou depois de instalar o Windows 10 Creators Update? Se for uma alteração de configuração padrão, isso terá implicações no desempenho ou estabilidade do sistema?

Eu suspeito que isso aumentará a estabilidade do sistema, porque se um serviço falhar, ele não derrubará outros serviços - mas isso tem um custo enorme de RAM - mas eu nunca experimentei um serviço em pane - ou pelo menos nunca notei isso (em vez disso, o pior problema que tive foi com wuauserv consumindo 100% de 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ços ao Editor do Registro!)

    
por Dai 25.05.2017 / 06:26

1 resposta

5

Sim, isso é uma alteração na Atualização de criadores se você usar 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 o problema ou evitar a falha de outros serviços se um serviço trava um svchost.exe.

If your PC has 3.5+ GB of memory, you may notice an increased number of processes in Task Manager. While this change may look concerning at first glance, many will be excited to find out the motivation behind this change. As the number of preinstalled services grew, they began to get grouped into processes known as service hosts (svchost.exe’s) with Windows 2000. Note that the recommended RAM for PC’s for this release was 256 MB, while the minimum RAM was 64MB. Because of the dramatic increase in available memory over the years, the memory-saving advantage of service hosts has diminished. Accordingly, ungrouping services on memory-rich (3.5+ GB of RAM) PCs running Windows now offers us the opportunity to do the following:

  • Increase reliability: When one service in a service host fails, all services in the service host fail. In other words, the service host
    process is terminated resulting in termination of all running
    services within that process.

  • Increase transparency: Task Manager will now give you a better view into what is going on behind the scenes. You can now see how much CPU, Memory, Disk & Network individual services are consuming.

    enter image description here

  • Increase security: Process isolation and individual permission sets for services will increase security.

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

Mas há uma maneira de reverter isso. Isso foi descoberto por um usuário de um site que lida com ajustes do Windows.

Portanto, execute regedit.exe , vá para HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control e crie um 32Bit DWORD SvcHostSplitThresholdInKB e configure-o para um número grande (maior em comparação com sua RAM de instalação).

    
por 25.05.2017 / 08:36