Seit der Installation des Windows 10 Fall Creators-Updates habe ich einen svchost.exe
-Prozess, der ständig etwa 14% der CPU-Zeit beansprucht:
Diese svchost.exe
-Instanz ist für das Hosten von drei Diensten verantwortlich:
Die CPU-Zeit wird von einem Thread innerhalb dieses Prozesses verbraucht, den Process Hacker keinem dieser drei Dienste zuordnen kann:
Angesichts der Tatsache, dass diese drei Dienste als wichtige Systemdienste gelten, ist es schwierig, etwas dagegen zu unternehmen. Diese Dienste können nicht durch services.msc
angehalten oder deaktiviert werden, und das Beenden des Prozesses löst eine Fehlerüberprüfung (CRITICAL_PROCESS_DIED
) aus. Durch Deaktivieren der Windows Defender-Firewall über die Einstellungsoberfläche wird die CPU-Auslastung nicht verringert.
Ich habe keine Ideen mehr. Was könnte das verursachen? Wie kann ich das weiter debuggen? Gibt es eine Problemumgehung, um diese Dienste zu beenden?
Update: Nach einigem Debuggen mit @ HelpingHand haben wir dies für den Windows Defender Firewall-Dienst isoliert . Der Prozessmonitor zeigt, dass ständig auf die Registrierung zugegriffen wird:
Ein CSV-Export einer Prozessmonitorerfassung, gefiltert nach diesem Prozess, ist hier verfügbar .
Ich suche immer noch nach einer Möglichkeit, dieses Verhalten zu stoppen.
Update 2: Die Analyse mit dem Windows Performance Analyzer zeigt, dass der Code von rpcrt4.dll
die meiste CPU-Zeit beansprucht:
Es stellte sich heraus, dass dies mit der gemeinsamen Nutzung der Internetverbindung (Internet Connection Sharing, ICS) zusammenhängt.
Im Folgenden möchte ich beschreiben, wie ich zu diesem Schluss gekommen bin, in der Hoffnung, dass es anderen Menschen mit ähnlichen Problemen hilft.
Der erste Schritt besteht darin, den Dienst zu identifizieren, der Probleme verursacht. Während der Windows-eigene Task-Manager dies kürzlich auch gelernt hat, habe ich Process Hacker verwendet, mit dem auch die Konfiguration eines Dienstes bearbeitet werden kann.
Durch Doppelklicken auf die fehlerhafte Instanz svchost.exe
und Auswahl der Registerkarte Service wird angezeigt, welche Services in diesem Prozess ausgeführt werden:
svchost.exe
kann viele Windows-Dienste gleichzeitig hosten, wodurch es schwierig wird, den Dienst zu identifizieren, der Probleme verursacht. Während neuere Versionen von Windows 10 in der Regel Dienste isolieren, wenn genügend RAM verfügbar ist , verwenden einige Dienste weiterhin einen gemeinsamen Prozess.
Dies ist ein solcher Fall, und der einfachste Weg, um festzustellen, welcher Dienst Probleme verursacht, besteht darin, sie zu trennen.
Process Hacker kann dies tun. Auf der Registerkarte Service des Hauptfensters können wir konfigurieren, ob ein Service einen Prozess freigeben kann:
Mindestens zwei der drei verdächtigen Dienste müssen als eigener Prozess konfiguriert werden, um sicherzustellen, dass sie in Zukunft getrennt werden.
Anscheinend mag Windows Defender nicht, dass Benutzer sich in die Konfiguration seines Dienstes einmischen. Um diese Einstellung erfolgreich zu ändern, musste ich
Danach hostet der anstößige svchost.exe
nur einen einzelnen Dienst, sodass wir einen Verdacht haben:
Um zu analysieren, was innerhalb des Firewall-Dienstes vor sich geht, verwenden wir den Windows Performance Recorder und das Windows Performance Analyzer-Tool, die Bestandteil des Windows ADK sind.
Wir beginnen mit der Aufzeichnung einiger Daten. Während der Verdächtige svchost.exe
im Hintergrund mitspielt, laden Sie diese Datei herunter , fügen Sie sie als Profil hinzu, richten Sie den Windows Performance Recorder wie folgt ein und starten Sie eine Aufzeichnung:
Lassen Sie die Aufnahme etwa 30 Sekunden lang laufen und speichern Sie sie dann. Klicken Sie nach dem Speichern auf In WPA öffnen , um es sofort zur Analyse zu öffnen.
Hier wird es schwierig. In meinem Fall brauchte ich einen Hinweis von @ magicandre1981, um unter Systemaktivität → Allgemeine Ereignisse an der richtigen Stelle zu suchen. Dort sah die Anzahl der RPC-Ereignisse verdächtig hoch aus:
Beim Drilldown wurde der svchost.exe
der Windows Defender-Firewall auf der Serverseite von win:Start
- und win:Stop
-Ereignissen häufig angezeigt:
Der nächste Schritt bestand darin, herauszufinden, wer diese RPC-Aufrufe gesendet hat. Auf der Clientseite sah eine andere Instanz von svchost.exe
verdächtig aus:
In der Tat konnte Process Hacker keinen Dienst erkennen, der in diesem Prozess ausgeführt wurde, was auch beständig zu einer CPU-Auslastung führte:
In diesem Fall konnte der Task-Manager von Windows den Dienst erfolgreich identifizieren:
Tatsächlich steckte der Dienst im Startzustand fest. Ich habe es deaktiviert, da ich es nicht benötige und die CPU-Last nach dem nächsten Neustart wieder normal ist.
Ich möchte mich bei @HelpingHand und @ magicandre1981 bedanken, deren Hilfe in den Kommentaren dies ermöglicht hat.
Wie später in dem TenForums-Post festgestellt wurde, wird dieses Problem durch Zurücksetzen der Windows Defender-Firewall behoben.
Es ist einfacher, ich hatte Erfolg, als ich die Einstellungen der Windows-Firewall (insbesondere, wenn die CPU-Auslastung einen ähnlichen Anstieg aufweist) mithilfe der folgenden Anweisungen zurücksetzte:
Durch Zurücksetzen der Windows Defender-Firewall auf die Standardeinstellungen wurde das Problem behoben.
Öffnen Sie dazu Einstellungen -> Update und Sicherheit -> Windows Defender -> Windows Defender-Sicherheitscenter öffnen -> Firewall- und Netzwerkschutz -> Firewall-Standardeinstellungen wiederherstellen
Hoffe, das hilft und funktioniert für jemand anderen ... Scheint ein ziemlich weit verbreitetes Problem zu sein.