Leitfaden zur Problembehandlung bei hoher CPU-Auslastung

Dieser Artikel hilft Ihnen, die Ursache einer anhaltend hohen CPU-Auslastung zu ermitteln. Beachten Sie, dass Sie davon ausgehen können, dass die CPU-Auslastung steigt, wenn ein Prozess oder eine Anwendung Anforderungen verarbeitet. Wenn Sie jedoch feststellen, dass die CPU-Auslastung über einen längeren Zeitraum auf einem hohen Niveau (80 Prozent oder höher) bleibt, wird die Leistung Ihres Systems oder Ihrer Anwendung beeinträchtigt. Aus diesem Grund ist es wichtig, die Ursache der anhaltend hohen CPU-Auslastung zu verstehen, um das Problem nach Möglichkeit beheben zu können.

Tools zur Problembehandlung

Task-Manager

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

  1. Wählen Sie Start aus, geben Sie Task ein, und wählen Sie dann Task-Manager in den Suchergebnissen aus.
  2. Im Task-Manager-Fenster wird standardmäßig die Registerkarte Prozesse verwendet. 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 im Header angezeigt wird, nach unten zeigt, um die Daten vom höchsten zum niedrigsten CPU-Verbrauch zu sortieren.

Wenn der Prozess beendet oder ein verwandter Dienst deaktiviert werden kann, beenden Sie den Prozess oder den Dienst. Überprüfen Sie dann, ob das Problem dadurch entschärft 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 Ressourcenmonitor die Registerkarte CPU aus.

    Hinweis

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

  3. Wählen Sie den Spaltenheader Durchschnittliche CPU aus , um die Liste nach gesamter CPU-Auslastung zu sortieren. Stellen Sie sicher, dass der Pfeil, der im Header angezeigt wird, nach unten zeigt, um die Daten vom höchsten zum niedrigsten CPU-Verbrauch zu sortieren.

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

Prozess-Explorer

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

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

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

Hinweis

Um ein besseres Stapelinformationsergebnis zu erhalten, konfigurieren Sie Symbole im prozessinternen Explorer. Gehen Sie dazu wie folgt vor:

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

Häufige Szenarien zur Problembehandlung

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

Eindeutig benannter einzelner Microsoft-Prozess

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

    Hinweis

    Lassen Sie dieses Protokoll nicht lange laufen, da die Datei sehr schnell wächst. Sie sollten das Protokoll nur für einige 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 Ausführungen um mehrere Minuten.

Svchost-Prozess

Wenn ein svchost-Prozess eine hohe CPU-Auslastung beansprucht und der svchost-Prozess mehr als einen Dienst enthält, müssen Sie jeden Dienst unterbrechen, damit er in einem eigenen svchost-Prozess ausgeführt wird, um zu bestimmen, welcher Dienst die hohe CPU-Auslastung verursacht. Führen Sie hierfür die folgenden Schritte aus:

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

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

    sc config <service name> type= own
    

    Hinweis

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

  3. Neustarten des Diensts

  4. Führen Sie an der Eingabeaufforderung aus tasklist /svc , 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 rückgängig machen, was Sie getan haben.

    Ersetzen sc config <service name> type= own Sie dazu im Befehl durch sc config <service name> type= share . 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 oder die hohe CPU-Auslastung antreibt.

  6. Erfassen sie ein Leistungsüberwachungsprotokoll. Verwenden Sie ein Intervall von 1 Sekunde bis 5 Sekunden Momentaufnahme.

  7. Notieren Sie sich die PID des betreffenden Svchost-Prozesses.

  8. Erfassen 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 Ausführungen um mehrere Minuten.

Mehrere Prozessinstanzen mit demselben Namen

Mehrere Instanzen eines Prozesses können denselben Namen verwenden. Dieses Problem kann beispielsweise bei den explorer.exe Prozessen auf einem RDP-Server (Remotedesktopprotokoll) auftreten.

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

  1. Erfassen sie ein Leistungsüberwachungsprotokoll. Verwenden Sie ein Intervall von 1 Sekunde bis 5 Sekunden Momentaufnahme.

  2. Erfassen 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 Ausführungen um mehrere Minuten.

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

    tasklist /v /fo csv >Running_Process.txt

Bewerbungsprozess von Drittanbietern

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

Datensammlung

Bevor das Problem auftritt

Sie können die Debugdiagnose 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 Debugdiagnosetool 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 hierzu Extras>Inkrementierungs-Kabinettdatei erstellen aus.

Wir empfehlen Ihnen, die gesammelten Informationen für den Fall, dass Sie sich an Microsoft-Support wenden müssen, zur Hand zu halten.