Nach dem Windows 10 Fall Creators Update verwendet eine svchost.exe-Instanz ständig CPU-Zeit

7264
fefrei

Seit der Installation des Windows 10 Fall Creators-Updates habe ich einen svchost.exeProzess, der ständig etwa 14% der CPU-Zeit beansprucht:

graph of CPU utilization

Diese svchost.exeInstanz ist für das Hosting von drei Diensten verantwortlich:

Base Filtering Engine, CoreMessaging, Windows Defender Firewall

Die CPU-Zeit wird von einem Thread innerhalb dieses Prozesses beansprucht, den Process Hacker keinem der drei folgenden Dienste zuordnen kann:

screenshot from Process Hacker

Da diese drei Dienste als kritische Systemdienste gelten, ist es schwierig, etwas dagegen zu unternehmen. Diese Dienste können nicht angehalten oder deaktiviert werden services.msc, und das Beenden des Prozesses löst eine Fehlerprüfung ( CRITICAL_PROCESS_DIED) aus. Durch Deaktivieren der Windows Defender-Firewall über die Einstellungs-Benutzeroberflä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 etwas Debugging mit @HelpingHand haben wir dies auf den Windows Defender Firewall-Dienst isoliert. Der Prozessmonitor zeigt an, dass er ständig auf die Registrierung zugreift:

screenshot from Process Monitor

Ein CSV - Export eines Process Monitor zu erfassen, zu diesem Prozess gefiltert, ist verfügbar hier .

Ich suche immer noch nach einer Möglichkeit, dieses Verhalten zu stoppen.


Update 2: Die Analyse mit dem Windows Performance Analyzer zeigt, dass die meiste CPU-Zeit durch folgenden Code beansprucht wird rpcrt4.dll:

screenshot from Windows Performance Analyzer

10
Wenn Sie die folgenden zwei Befehle in einer Administratoraufforderung ausführen und neu starten; Wenn ja, welcher svchost-Prozess die hohe CPU verursacht, dann: `Sc config BFE type = own`, dann` Sc config MpsSvc type = own` HelpingHand vor 6 Jahren 1
Wenn Sie einen dieser Befehle ausführen, wird "[SC] OpenService FAILED 5: Zugriff verweigert" zurückgegeben, obwohl in einer administrativen Eingabeaufforderung ausgeführt wird. fefrei vor 6 Jahren 0
Da Sie bereits über Process Hacker verfügen, finden Sie den svchost-Prozess, der beispielsweise BFE hostet. Wenn Sie auf der Registerkarte "Dienste" auf den Dienstnamen doppelklicken und die Registerkarte "Sicherheit" anzeigen, hätte ich gedacht, dass Administratoren Konfigurationsrechte haben würden. Das Obige funktioniert für mich. HelpingHand vor 6 Jahren 1
Interessanterweise kann ich Administratoren die Rechte zum Ändern der Dienstkonfigurationen gewähren (ich dachte, dies wären [geschützte Dienste] (https://msdn.microsoft.com/de-de/library/windows/desktop/dn313124 (v = vs. 85) .aspx) das erlaubte das nicht). Nach einem Neustart stach der Schuldige hervor: `MpsSvc`, alias Windows Defender Firewall. Einen Schritt näher, danke! fefrei vor 6 Jahren 0
Möglicherweise können Sie Process Monitor jetzt mit dieser nach PID gefilterten Version ausführen. Sehen Sie, was auftaucht. HelpingHand vor 6 Jahren 1
Das hat auch geklappt und sah ziemlich repetitiv aus. Ich habe die Ergebnisse in meine Frage eingearbeitet. fefrei vor 6 Jahren 0
Das funktioniert auch auf meinem Computer. TBH, ich denke, Sie sollten die Windows Performance Toolkit-Tools (https://docs.microsoft.com/en-us/windows-hardware/test/wpt/) installieren. Im Wesentlichen verwenden Sie Windows Performance Recorder zum Erfassen einer Trace-Datei und Windows Performance Analyzer, um sie zu analysieren. https://channel9.msdn.com/Shows/Defrag-Tools bietet einige gute Shows. HelpingHand vor 6 Jahren 1
@fefrei - Anstatt die Lösung / Antwort in Ihre Frage aufzunehmen, sollten Sie eine Antwort übermitteln. Ramhound vor 6 Jahren 0
@Ramhound Dies ist keine Antwort, nur ein paar Hinweise auf dem Weg zu einer Antwort. Der Prozess läuft noch und beansprucht die CPU-Zeit. Ich werde versuchen, das zu klären. fefrei vor 6 Jahren 0
Ich stellte fest, dass der Dienst beim Starten des Dienstes nicht mehr mit der CPU zu tun hat. Um dieses Problem zu umgehen, habe ich den Dienst nicht manuell gestartet. Es wird immer noch automatisch gestartet (wahrscheinlich, weil ein anderer Dienst es startet), aber auf diese Weise wird es spät genug gestartet, um keine Probleme zu verursachen. Seltsam! fefrei vor 6 Jahren 0
Nicht nach Modul sortieren. entferne diese Spalte Verfolgen Sie auch die RPC-Ereignisse. [diese Datei herunterladen] (https://raw.githubusercontent.com/MicrosoftEdge/Elevator/master/ElevatorServer/DefaultTraceProfile.wprp), führen Sie WPRUI.exe aus, klicken Sie auf Profil hinzufügen, wählen Sie das heruntergeladene WPRP aus, und wählen Sie CPU Usage Profile and Network aus Nutzungsprofil unter Kundenspezifische Messungen. Klicken Sie auf Start und erfassen Sie die Nutzung für 30s. Nun schau dir an, welche PID die hohe CPU-Auslastung hat und bei generischen Ereignissen Graph / Table-Filter für das Exe mit der hohen Auslastung und RPC-Ereignissen und schau, welche RPC-Aktion ausgeführt wird magicandre1981 vor 6 Jahren 1
Weitere Diskussionen zu diesem hohen CPU-Problem mit FCU finden Sie hier, https://www.tenforums.com/general-support/95844-fall-update-v-1709-creates-problems-cpu-usage-desktop-wallpaper- 4.html. Adrian vor 6 Jahren 1
@Adrian: Danke für diesen Link! @ magicandre1981: Danke! Wenn ich die Ausgabe richtig interpretiere, hat "MpsSvc" Tausende von "Microsoft-Windows-RPC / RpcServerCall / win: Start" - und "win: Stop" -Ereignissen. Die Clientseite dieser Anforderungen ist eine `svchost.exe'-Instanz, die gemäß Process Hacker die Dienstgruppe` netsvcs` hostet. Der Task-Manager erkennt dies als gemeinsame Nutzung der Internetverbindung, die tatsächlich CPU-Energie verbraucht und in * Starting * stecken bleibt (hatte dies zuvor nicht bemerkt). fefrei vor 6 Jahren 0
Wenn Sie keine Internetfreigabe verwenden, setzen Sie den Starttyp des ICS auf "bei Bedarf" oder deaktiviert. magicandre1981 vor 6 Jahren 1
Ich habe es auf deaktiviert gesetzt. Nach einem Neustart hatte sich das magisch in "Manual (Trigger Start)" geändert, aber die Dinge beruhigten sich. Hurra! Während dies nicht die Hauptursache ist, haben Ihre Hinweise meine Frage absolut beantwortet, was der Dienst getan hat, und zu einer Problemumgehung geführt, die für mich funktioniert. Würden Sie Ihre Tipps als Antwort veröffentlichen, damit ich sie akzeptieren kann? fefrei vor 6 Jahren 0
Sie haben 95% selbst entdeckt. Ich habe dir nur einen kleinen Hinweis gegeben. Poste deinen eigenen Fund als Antwort. magicandre1981 vor 6 Jahren 1

2 Antworten auf die Frage

9
fefrei

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 dieser Schlussfolgerung 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. Obwohl der Task-Manager von Windows dies kürzlich gelernt hat, habe ich Process Hacker verwendet, der auch die Konfiguration eines Dienstes bearbeiten kann.

Doppelklicken Sie auf die betreffende svchost.exeInstanz und wählen Sie die Registerkarte " Service" aus, um anzuzeigen, welche Services innerhalb dieses Prozesses ausgeführt werden:

svchost.exe (1688) Properties

svchost.exeEs können viele Windows-Dienste gleichzeitig gehostet werden, so dass es schwierig ist, herauszufinden, welcher Dienst Probleme verursacht. Während neuere Versionen von Windows 10 normalerweise Dienste isolieren, wenn genügend RAM verfügbar ist, teilen einige Dienste immer noch einen Prozess.

Dies ist ein solcher Fall, und der einfachste Weg, um herauszufinden, welcher Dienst Probleme verursacht, besteht darin, diese zu trennen.

Process Hacker kann dies tun. Auf der Registerkarte " Dienste" des Hauptfensters können Sie konfigurieren, ob ein Dienst einen Prozess gemeinsam nutzen kann:

MpsSvc Properties

Mindestens zwei der drei verdächtigen Services müssen als eigener Prozess konfiguriert werden, um sicherzustellen, dass sie in Zukunft getrennt werden.

Offenbar mag es Windows Defender nicht, dass sich Benutzer mit der Konfiguration des Dienstes mischen. Um diese Einstellung erfolgreich ändern zu können, musste ich dies tun

  • Erteilen Sie der Gruppe Administratoren vollen Zugriff auf diesen Dienst.
  • den Dienst deaktivieren,
  • Neustart, damit der Dienst gestoppt wird (er kann nicht separat gestoppt werden)
  • Ändern Sie den Diensttyp in " Eigene Prozesse" und aktivieren Sie den Dienst erneut (setzen Sie ihn auf " Autostart" ) und
  • Starten Sie ein letztes Mal neu, um diese Änderungen anzuwenden.

Danach svchost.exebeherbergt der Angreifer nur einen einzigen Dienst, daher haben wir einen Verdächtigen:

Windows Defender Firewall (MpsSvc)

Um zu analysieren, was im Firewall-Dienst passiert, verwenden wir den Windows Performance Recorder und das Windows Performance Analyzer-Tool, das Teil des Windows ADK ist .

Wir beginnen mit der Aufzeichnung einiger Daten. Während der Verdächtige svchost.exeim Hintergrund entlang wird Aufspannung, laden Sie diese Datei, fügen Sie es als Profil, Einrichten von Windows Performance Recorder wie folgt und eine Aufnahme starten:

Windows Performance Recorder: check First level triage and CPU Usage Profile

Lassen Sie die Aufnahme etwa 30 Sekunden laufen und speichern Sie die Aufnahme. Klicken Sie nach dem Speichern auf In WPA öffnen, um es sofort zur Analyse zu öffnen.

Hier fangen die Dinge an, knifflig zu werden. In meinem Fall musste ich einen Hinweis von @ magicandre1981 an der richtigen Stelle suchen, unter SystemaktivitätAllgemein Events . Die Anzahl der RPC-Ereignisse sah dort verdächtig hoch aus:

46.918 Microsoft-Windows-RPC events

Die Windows Defender Firewall svchost.exezeigte sich auf der Server- Seite win:Startund bei den win:StopEreignissen:

RpcServerCall

Der nächste Schritt bestand darin, herauszufinden, wer diese RPC-Aufrufe gesendet hat. Durch den Blick auf die Kundenseite sah eine andere svchost.exeInstanz verdächtig aus:

RpcClientCall

In der Tat konnte Process Hacker keinen Dienst erkennen, der innerhalb dieses Prozesses ausgeführt wird, was auch die CPU-Last dauerhaft verursacht hat:

Service group name: netsvcs

In diesem Fall konnte der Task-Manager von Windows den Dienst identifizieren:

Internet Connection Sharing (ICS)

Tatsächlich wurde der Service im stecken Ausgangszustand. Ich habe es deaktiviert, da ich es nicht brauche, und die CPU-Belastung ist nach dem nächsten Neustart wieder normal.


Ich möchte mich bei @HelpingHand und @ magicandre1981 bedanken, deren Hilfe in den Kommentaren dies möglich gemacht hat.


Wie später im TenForums-Beitrag festgestellt, wird das Problem durch Zurücksetzen der Windows Defender-Firewall behoben .

@HelpingHand: Was passiert, wenn man die Dienste von ICS (Internet Connection Sharing) deaktiviert? Ist WiFi Hotspot nicht mehr möglich? llinfeng vor 6 Jahren 0
Dies ist in Process Explorer etwas einfacher. Wenn Sie mit der rechten Maustaste auf die "svchost.exe" klicken, die eine konstante Prozessormenge verwendet (mein Fall war 5% konstant), und auf die Registerkarte "Dienste" klicken, sehen Sie, welche Dienste unter diesem svchost ausgeführt werden. Ich hatte nur einen in diesem Fall, ICS. In ähnlicher Weise war meine gemeinsame Internetverbindung in einem Ausgangszustand hängen geblieben. Beim "Firewall & Netzwerkschutz" konnte ich auf "Standardeinstellungen für Firewalls wiederherstellen" klicken - das Problem wurde sofort behoben. Howard Lince III vor 6 Jahren 0
@Howard: Betrachten Sie sich als glücklich - eine komplizierte Bürgermeisterin bestand für mich aus drei Diensten, die sich die problematische Instanz von `svchost.exe 'teilen, was es schwierig macht, den Dienst zu identifizieren, der dies verursacht. Ich bin nicht sicher, warum sie keinen Host-Prozess in Ihrer Instanz freigegeben haben. fefrei vor 6 Jahren 0
3
Mohamad Osama

Es ist einfacher, ich hatte Erfolg, indem ich die Windows-Firewall-Einstellungen zurückgesetzt habe (insbesondere, wenn die CPU-Auslastung etwas höher ist). Gehen Sie dazu wie folgt vor: -

Durch das Zurücksetzen der Windows Defender Firewall auf die Standardeinstellungen wurde das Problem behoben.

Dazu öffnen Sie Einstellungen -> Update und Sicherheit -> Windows Defender -> Öffnen Sie das Windows Defender-Sicherheitscenter -> Firewall und Netzwerkschutz -> Firewall-Standardeinstellungen wiederherstellen

Hoffe, das hilft und funktioniert für jemanden anderen ... Scheint ein ziemlich weit verbreitetes Problem zu sein.

In der Tat hat dies auch für mich funktioniert, wie ich ganz unten in meiner Antwort erwähnte. Danke für das Spiegeln der Schritte hier! fefrei vor 6 Jahren 1