Freigeben über


Anleitung zur Problembehandlung bei hoher CPU-Auslastung

Dieser Artikel hilft Ihnen, die Ursache einer anhaltenden hohen CPU-Auslastung zu ermitteln. Denken Sie daran, dass sie davon ausgehen können, dass die CPU-Auslastung als Prozess zunimmt oder eine Anwendung Anforderungen erfüllt. Wenn jedoch die CPU-Auslastung für längere Zeiträume auf einem hohen Niveau (80 Prozent oder höher) bleibt, leidet die Leistung Ihres Systems oder Ihrer Anwendung. Aus diesem Grund ist es wichtig, die Ursache einer anhaltenden hohen CPU-Auslastung zu verstehen, um das Problem nach Möglichkeit zu beheben.

Problembehandlungstools

Task-Manager

Verwenden Sie Den Task-Manager, um den CPU-Verbrauch anzuzeigen, um den Prozess oder die Anwendung zu identifizieren, der eine hohe CPU-Auslastung verursacht:

  1. Wählen Sie "Start", geben Sie "Aufgabe" ein, und wählen Sie dann "Task-Manager" in den Suchergebnissen aus.
  2. Das Aufgaben-Manager-Fenster wird standardmäßig auf der Registerkarte "Prozesse " angezeigt. Wenn in der Spalte "Name " eine einzelne Liste von Prozessnamen angezeigt wird, können Sie alle Instanzen gruppierter Prozesse erweitern.
  3. Wählen Sie die CPU-Spaltenüberschrift aus, um die Liste nach CPU-Auslastung zu sortieren. Stellen Sie sicher, dass der Pfeil, der auf den Kopfzeilen angezeigt wird, nach unten zeigt, um die Daten von der höchsten bis zur niedrigsten CPU-Auslastung zu sortieren.

Wenn der Prozess beendet werden kann oder ein verwandter Dienst deaktiviert werden kann, beenden Sie den Prozess oder den Dienst. Überprüfen Sie dann, ob das Problem dadurch behoben wird.

Ressourcenmonitor

Verwenden Sie den Ressourcenmonitor, um den CPU-Verbrauch anzuzeigen:

  1. Wählen Sie "Start" aus, geben Sie "resmon" ein, und wählen Sie dann "Ressourcenmonitor" aus den Suchergebnissen aus.

  2. Wählen Sie im Fenster "Ressourcenüberwachung " die Registerkarte "CPU " aus.

    Notiz

    Möglicherweise müssen Sie das Fenster maximieren, um alle Daten anzuzeigen.

  3. Wählen Sie die Durchschnittliche CPU-Spaltenüberschrift aus, um die Liste nach gesamter CPU-Auslastung zu sortieren. Stellen Sie sicher, dass der Pfeil, der auf den Kopfzeilen angezeigt wird, nach unten zeigt, um die Daten von der höchsten bis zur niedrigsten CPU-Auslastung zu sortieren.

Wenn eines der Prozesse eine höhere als erwartete Verbrauchsrate für Ihre Umgebung anzeigt, sollten Sie diese wichtigsten Prozesse zuerst berücksichtigen, wenn Sie versuchen, die Ursache des Problems zu ermitteln.

Prozess-Explorer

Mit dem Prozess-Explorer-Tool erhalten Sie einen vollständigen Überblick darüber, welche Prozesse derzeit auf Ihrem Computer ausgeführt werden, einschließlich Details darüber, wer die Prozesse aufgerufen hat, und wie viel der gesamten Systemressourcen sie verbrauchen.

Wenn Sie einen betriebssystembezogenen Prozess überprüfen möchten (z. B. System), führen Sie die folgenden Schritte aus:

  1. Führen Sie den Prozess-Explorer als Administrator aus.
  2. Klicken Sie mit der rechten Maustaste auf den Prozess, wählen Sie "Eigenschaften" aus, und wählen Sie dann die Registerkarte "Threads " aus.
  3. Wählen Sie den Thread aus, der eine hohe CPU verbraucht, und wählen Sie dann "Stapel" aus, um die ausgeführten Funktionen anzuzeigen.

Notiz

Um ein besseres Stapelinformationsergebnis zu erzielen, konfigurieren Sie Symbole im Prozess-Explorer. Gehen Sie dazu wie folgt vor:

  1. Installieren Sie Debugtools für Windows.
  2. Führen Sie den Prozess-Explorer als Administrator aus.
  3. Wählen Sie das Menü "Optionen" und dann " Symbole konfigurieren" aus.
  4. Ändern Sie den Dbghelp.dll Pfad zu "C:\Programme (x86)\Windows Kits\10\Debuggers\x64\dbghelp.dll", und wählen Sie dann "OK" aus.

Häufige Problembehandlungsszenarien

In diesem Abschnitt werden die Szenarien verschiedener Prozesse vorgestellt, die eine hohe CPU-Auslastung verwenden.

Eindeutig benannter Singular Microsoft-Prozess

  1. Erfassen sie ein Leistungsüberwachungsprotokoll. Verwenden Sie ein 1-Sekunden- bis 5-Sekunden-Momentaufnahmeintervall.
  2. Sammeln Sie ein WPR-Protokoll (Windows Performance Recorder), während eine hohe CPU-Auslastung auftritt.

    Notiz

    Lassen Sie dieses Protokoll nicht lange ausführen, da die Datei sehr schnell wächst. Sie sollten das Protokoll nur für ein paar Minuten (drei bis fünf) ausführen müssen, um die hohe CPU-Auslastung zu erfassen.

  3. Führen Sie das ProcDump-Tool zweimal während der gemeldeten hohen CPU-Auslastung aus. Abstand zwischen den Laufläufen um mehrere Minuten.

Svchost-Prozess

Wenn ein svchost-Prozess eine hohe CPU-Auslastung verbraucht und der svchost-Prozess mehr als einen Dienst enthält, müssen Sie jeden Dienst unterbrechen, um in seinem eigenen svchost-Prozess ausgeführt zu werden, um zu bestimmen, welcher Dienst die hohe CPU-Auslastung verursacht. Führen Sie dazu die folgenden Schritte aus:

  1. Öffnen Sie ein Eingabeaufforderungsfenster mit erhöhten Rechten.

  2. Trennen Sie jeden Dienst in einen eigenen svchost-Prozess, wenn es sich um einen freigegebenen svchost-Prozess handelt. Führen Sie zu diesem Zweck den folgenden Befehl aus:

    sc config <service name> type= own
    

    Notiz

    Ersetzen Sie <in diesem Befehl den Dienstnamen> durch den tatsächlichen Dienstnamen.

  3. Starten Sie den Dienst neu.

  4. Führen Sie tasklist /svc an der Eingabeaufforderung aus, um zu überprüfen, ob der Dienst in seinem eigenen svchost-Prozess ausgeführt wird.

    Wichtig

    Nachdem das Problem behoben wurde, müssen Sie zu Schritt 2 zurückkehren und die von Ihnen ausgeführten Aktionen wiederherstellen.

    Ersetzen Sie sc config <service name> type= own dazu den Befehl durch sc config <service name> type= share den Befehl. Starten Sie dann den Dienst neu.

  5. Nachdem Sie jeden Dienst in einen eigenen svchost-Prozess aufgeteilt haben, müssen Sie jetzt ermitteln, welcher Dienst die CPU-Auslastung beschleunigt oder eine hohe CPU-Auslastung verbraucht hat.

  6. Erfassen sie ein Leistungsüberwachungsprotokoll. Verwenden Sie ein 1-Sekunden- bis 5-Sekunden-Momentaufnahmeintervall.

  7. Notieren Sie die PID des beleidigenden Svchost-Prozesses.

  8. Sammeln Sie ein WPR-Protokoll, während das Problem auftritt.

  9. Führen Sie ProcDump zweimal während der gemeldeten hohen CPU-Auslastung aus. Abstand zwischen den Laufläufen um mehrere Minuten.

Mehrere Prozessinstanzen mit demselben Namen

Mehrere Instanzen eines Prozesses können denselben Namen aufweisen. Dieses Problem kann beispielsweise mit den explorer.exe Prozessen auf einem RDP-Server (Remote Desktop Protocol) auftreten.

Führen Sie die folgenden Schritte aus, um dieses Problem zu beheben:

  1. Erfassen sie ein Leistungsüberwachungsprotokoll. Verwenden Sie ein 1-Sekunden- bis 5-Sekunden-Momentaufnahmeintervall.

  2. Sammeln Sie ein WPR-Protokoll, während das Problem auftritt.

  3. Führen Sie ProcDump zweimal während der gemeldeten hohen CPU-Auslastung aus. Abstand zwischen den Laufläufen um mehrere Minuten.

  4. Notieren Sie die PID des beleidigenden Prozesses, indem Sie den folgenden Befehl ausführen:

    tasklist /v /fo csv >Running_Process.txt

Anwendungsprozess von Drittanbietern

Wenn ein dritter Prozess als Ursache des Problems identifiziert wird, müssen Sie sich an den Anwendungsanbieter wenden, um zu verstehen, warum der jeweilige Prozess eine hohe CPU-Auslastung auf dem Computer verursacht.

Datensammlung

Bevor das Problem auftritt

Sie können die Debug Diagnostic 2.0-Version verwenden, um dieses Problem weiter zu beheben. Führen Sie die folgenden Schritte aus, um das Tool zu verwenden.

  1. Installieren Sie das Debug-Diagnosetool v2 Update 2.

    Wichtig

    Deinstallieren Sie alle anderen Versionen des Debugdiagnosetools, bevor Sie die Version 2.0 installieren.

  2. Wählen Sie "Start" aus, geben Sie den Leistungsmonitor ein, und klicken Sie dann mit der rechten Maustaste auf Leistungsmonitor, um ihn als Administrator auszuführen.

  3. Verwenden Sie Leistungsmonitor, um das Leistungsindikatorprotokoll zu erfassen und die Protokollierung zu starten.

Wenn das Problem auftritt

  1. Öffnen Sie die DebugDiag 2-Auflistung.
  2. Wählen Sie die Registerkarte "Prozesse" aus, klicken Sie mit der rechten Maustaste auf den Arbeitsprozess, der dem entsprechenden Anwendungspool entspricht, und wählen Sie dann "Vollständigen Benutzerdump erstellen" aus.
  3. Wiederholen Sie Schritt 2 dreimal, während die CPU-Auslastung hoch ist.
  4. Beenden Sie die Leistungsmonitor protokollierung.
  5. Komprimieren Sie die Daten mithilfe von DebugDiag. Wählen Sie dazu "Extras>Erstellen inkrementeller Cab"-Datei aus.

Es wird empfohlen, die von Ihnen gesammelten Informationen beizubehalten, falls Sie sich an Microsoft-Support wenden müssen.