Heute habe ich das Creators Update aktualisiert, indem ich das Setup von der lokal gemounteten ISO-Datei ausgeführt habe. Als ich zu meinem Computer zurückkam, öffnete ich den Task-Manager und sah, dass mein Speicherverbrauch viel höher war als zuvor (er beträgt jetzt fast 6 GB Speicherverbrauch im Leerlauf nach dem Anmelden statt 2-3 GB mit dem vorherigen Windows-Build) - die Registerkarte Prozesse zeigte, dass es mehr als60verschiedene Ausführungsinstanzen svchost.exe
. Diese 6 GB gelten nur für den Prozessspeicher, nicht einschließlich des für die Zwischenspeicherung oder den „Standby“-Speicher verwendeten Speichers.
Ich habe versucht, tasklist /svc
eine Liste der in welchen Prozessen enthaltenen Dienste abzurufen. Dabei wurde mir angezeigt, dass in fast jeder Instanz von svchost.exe nur ein einziger laufender Dienst enthalten ist (mit Ausnahme einer Handvoll Instanzen, die einige Systemdienste ausführen).
Hier ist meine Ausgabe:
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)...
Ich weiß, dass Sie mit dem Befehl einzelne Dienste so konfigurieren können, dass sie in ihrer eigenen SVC-Instanz ausgeführt werden sc config <serviceName> type= own
, aber meines Wissens habe ich diesen Befehl noch nie ausgeführt.
Ich habe einen kurzen Blick darauf geworfen Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
und es sieht so aus, als ob den Type
Schlüsselwerten für die meisten dieser Dienste das Flag-Bit fehlt, 0x10
das steuert, ob ein Dienst in seiner eigenen svchost.exe
Instanz ausgeführt wird oder nicht. Ich frage mich, was diese Änderung bewirkt haben könnte.
Hat jemand anderes dieses Verhalten vor oder nach der Installation des Windows 10 Creators Update beobachtet? Wenn es sich um eine Änderung der Standardkonfiguration handelt, hat dies Auswirkungen auf die Systemleistung oder -stabilität?
Ich gehe davon aus, dass dies die Systemstabilität verbessert, weil beim Absturz eines Dienstes keine anderen Dienste zum Absturz gebracht werden. Dies geht allerdings zu einem enormen Preis für den Arbeitsspeicher. Allerdings ist mir noch nie ein Dienst abgestürzt, zumindest ist mir das nie aufgefallen (das schlimmste Problem, das ich hatte, war die wuauserv
stundenlange Auslastung von 100 % der CPU-Leistung, und dieses Problem lässt sich durch die Prozessisolierung nicht lösen).
(Mir ist gerade aufgefallen: Sie haben dem Registrierungs-Editor endlich eine Adressleiste hinzugefügt!)
Antwort1
Ja dasist eine Änderung im Creators Update, wenn Sie einen PC mit mehr als 3,5 GB RAM verwenden. Hier werden alle Dienste in ihrer eigenen svchost.exe ausgeführt, um besser zu erkennen, welcher Dienst das Problem verursacht, oder um Abstürze anderer Dienste zu verhindern, wenn ein Dienst eine svchost.exe zum Absturz bringt.
Wenn Ihr PC über 3,5 GB oder mehr Arbeitsspeicher verfügt, bemerken Sie möglicherweise eine erhöhte Anzahl von Prozessen im Task-Manager. Diese Änderung mag auf den ersten Blick besorgniserregend erscheinen, aber viele werden gespannt sein, die Motivation hinter dieser Änderung herauszufinden. Als die Anzahl der vorinstallierten Dienste zunahm, wurden sie in Windows 2000 in Prozesse gruppiert, die als Service-Hosts (svchost.exe) bezeichnet werden. Beachten Sie, dass der empfohlene Arbeitsspeicher für PCs für diese Version 256 MB betrug, während der Mindest-Arbeitsspeicher 64 MB betrug. Aufgrund der dramatischen Zunahme des verfügbaren Arbeitsspeichers im Laufe der Jahre hat der Speichersparvorteil der Service-Hosts abgenommen. Dementsprechend bietet uns das Aufheben der Gruppierung von Diensten auf speicherreichen (3,5 GB oder mehr RAM) PCs mit Windows jetzt die Möglichkeit, Folgendes zu tun:
Höhere Zuverlässigkeit: Wenn ein Dienst in einem Service-Host ausfällt, fallen alle Dienste im Service-Host aus. Mit anderen Worten: Der Service-Host-
Prozess wird beendet, was zur Beendigung aller laufenden
Dienste innerhalb dieses Prozesses führt.Mehr Transparenz: Der Task-Manager bietet Ihnen jetzt einen besseren Einblick in das, was hinter den Kulissen passiert. Sie können jetzt sehen, wie viel CPU, Speicher, Festplatte und Netzwerk einzelne Dienste verbrauchen.
Erhöhen Sie die Sicherheit: Prozessisolierung und individuelle Berechtigungssätze für Dienste erhöhen die Sicherheit.
Also keine Sorge, das ist eine gute Änderung in v1703 und alles ist in Ordnung.
Aber es gibt eine Möglichkeit, es rückgängig zu machen. Das warvon einem Benutzer entdeckteiner Website, die sich mit Windows-Optimierungen beschäftigt.
Führen Sie also aus regedit.exe
, gehen Sie zu, HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
erstellen Sie ein 32-Bit-DWORD SvcHostSplitThresholdInKB
und legen Sie eine große Zahl fest (größer im Vergleich zu Ihrem installierten RAM).