Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So lösen Sie das Problem der 100 % CPU-Auslastung

So lösen Sie das Problem der 100 % CPU-Auslastung

藏色散人
藏色散人Original
2021-05-12 15:32:5516446Durchsuche

Lösung für 100 % CPU-Auslastung: Finden Sie zunächst den spezifischen Prozess, der die hohe CPU-Auslastung beeinflusst, und prüfen Sie dann, ob der Prozess, der die hohe CPU-Auslastung beeinflusst, normal ist.

So lösen Sie das Problem der 100 % CPU-Auslastung

Die Betriebsumgebung dieses Artikels: Windows Server 2008-System, Dell G3-Computer.

Wie kann das Problem der 100 % CPU-Auslastung gelöst werden?

Übersicht

Dieser Artikel stellt hauptsächlich die Fehlerbehebung und Lösungen für das Problem der hohen CPU-Auslastung in Windows-Instanzen vor.

Details

Alibaba Cloud erinnert Sie:

  • Wenn Sie riskante Vorgänge wie das Modifizieren oder Ändern der Instanz oder Daten durchführen, müssen Sie auf die Katastrophentoleranz und Fehlertoleranz der Instanz achten, um die Datensicherheit zu gewährleisten.
  • Wenn Sie Konfigurations- und Datenänderungen an Instanzen (einschließlich, aber nicht beschränkt auf ECS, RDS) usw. vornehmen, wird empfohlen, vorab Snapshots zu erstellen oder die RDS-Protokollsicherung und andere Funktionen zu aktivieren.
  • Wenn Sie Sicherheitsinformationen wie Anmeldekonto und Passwort auf der Alibaba Cloud-Plattform autorisiert oder übermittelt haben, wird empfohlen, diese rechtzeitig zu ändern.

In diesem Artikel werden hauptsächlich die folgenden Schritte vorgestellt.

Positionierungsproblem. Finden Sie den spezifischen Prozess, der eine hohe CPU-Auslastung verursacht.

Analyse und Verarbeitung. Überprüfen Sie, ob der Prozess, der eine hohe CPU-Auslastung verursacht, normal ist, und klassifizieren Sie ihn zur Verarbeitung.

  • Für normale Prozesse: Sie müssen das Programm optimieren oder die Serverkonfiguration aktualisieren.
  • Für abnormale Prozesse: Sie können den Prozess manuell überprüfen und beenden oder Sie können Sicherheitstools von Drittanbietern verwenden, um ihn zu überprüfen und zu beenden.

Bedienungsbeispiel. Stellen Sie den spezifischen Fehlerbehebungs- und Lösungsprozess vor.

Weitere Informationen. Machen Sie sich mit der Verwendung von Fehlerbehebungstools vertraut.

Lokalisierung des Problems

Microsoft verfügt über mehrere Tools, um das Problem übermäßiger CPU-Auslastung zu lokalisieren, z. B. Task-Manager, Ressourcenmonitor (Ressourcenmonitor), Leistungsmonitor (Leistungsmonitor), Prozess-Explorer, Xperf (Windows Server 2008 später), KernRate (Windows Server 2003), holen Sie sich den System-Full-Memory-Dump zur Überprüfung. Bei starkem Datenverkehr können Sie Wireshark auch verwenden, um Netzwerkpakete für einen bestimmten Zeitraum zu erfassen und die Verkehrsnutzung zu analysieren.

Tipps: Windows Server 2008 und höher-Systeme verwenden normalerweise den mit dem System gelieferten Ressourcenmonitor, um die CPU zu überwachen.

  • Klicken Sie auf das Menü „Start“ unten auf dem Desktop und wählen Sie „Ausführen“. Nachdem Sie das Ausführungsfeld geöffnet haben, geben Sie

    in das Feld ein und klicken Sie auf
  • OK
  • .

    perfmon -res

So lösen Sie das Problem der 100 % CPU-Auslastung Überprüfen Sie auf der Ressourcenüberwachungsseite, ob jeder Prozess eine hohe CPU-Auslastung aufweist.

So lösen Sie das Problem der 100 % CPU-AuslastungÜberprüfen Sie bei Prozessen, die hohe Ressourcen beanspruchen, die entsprechende Prozess-ID und den Programmnamen des Prozesses.

  • Nachdem Sie die Prozess-ID gefunden haben, verwenden Sie den Task-Manager, um festzustellen, ob das Programm abnormal ist, und suchen Sie den spezifischen Speicherort des Programms.
    1. Bevor Sie den abnormalen Prozess lokalisieren, müssen Sie im Task-Manager auf Ansicht (V)> klicken.
      So lösen Sie das Problem der 100 % CPU-AuslastungWählen Sie
    2. PID (Prozesskennung)
    3. im Popup-Feld aus und klicken Sie auf OK.
      So lösen Sie das Problem der 100 % CPU-AuslastungAuf der Prozessseite des Task-Managers wird das PID-Element hinzugefügt. Klicken Sie auf „PID“ und sortieren Sie, um den abnormalen Prozess zu finden, der zuvor vom Ressourcenmonitor angezeigt wurde. Klicken Sie mit der rechten Maustaste auf den Prozessnamen und wählen Sie „Dateispeicherort öffnen“, um zu überprüfen, ob es sich bei dem Prozess um ein Schadprogramm handelt.
    4. Analyse und Verarbeitung
    5. Analyse und Verarbeitung übermäßiger CPU-Auslastung

    Sie müssen feststellen, ob der Prozess, der die hohe CPU-Auslastung beeinflusst, ein normaler oder ein abnormaler Prozess ist, und ihn für die Verarbeitung klassifizieren.

    Analyse und Verarbeitung übermäßiger normaler Nutzung

    Unter normalen Umständen, wenn Kunden häufig auf das Unternehmen zugreifen oder aufgrund von Windows-eigenen Diensten (Update-Dienste usw.), kann es zu einer hohen Auslastung des Netzwerkverkehrs und der CPU kommen. Bei hoher CPU-Auslastung, die durch normale Prozesse verursacht wird, beheben Sie die Fehler bitte nacheinander in der folgenden Reihenfolge.

    Tipps

    : Es wird empfohlen, dass die Speicherkonfiguration von Windows Server 2008- oder Windows Server 2012-Instanzen 2G oder höher beträgt.

    Überprüfen Sie, ob Windows Update im Hintergrund ausgeführt wird.
    • Es wird empfohlen, für den Virenschutz eine Antivirensoftware auf dem Server zu installieren. Wenn Sie eine Antivirensoftware installiert haben, prüfen Sie bitte, ob die Antivirensoftware bei hoher CPU-Auslastung Scanvorgänge im Hintergrund durchführt. Bitte aktualisieren Sie nach Möglichkeit die Antivirensoftware auf die neueste Version oder löschen Sie die Antivirensoftware.

    • Überprüfen Sie, ob die Anwendung innerhalb des ECS einen großen Festplattenzugriff, ein Netzwerkzugriffsverhalten oder hohe Rechenanforderungen hat. Versuchen Sie, die Instanzspezifikationen zu erhöhen und mehr Kerne oder Speicherspezifikationen zu verwenden, um Ressourcenengpässe zu beheben, z. B. durch die Aktualisierung von Konfigurationen.

    • Wenn Ihre Serverkonfiguration hoch ist, macht es wenig Sinn, die Konfiguration zu aktualisieren. In Bezug auf die Architektur bedeutet dies nicht, dass je höher die Serverkonfiguration, desto besser. Zu diesem Zeitpunkt müssen Sie versuchen, Anwendungen zu trennen und gleichzeitig verwandte Programme zu optimieren. Beispielanweisungen sind wie folgt.

    • Problembeschreibung

      : Wenn mehrere Anwendungen wie MySQL, PHP und Web gleichzeitig auf einem Server bereitgestellt werden, kann es selbst bei relativ hoher Konfiguration leicht zu Anomalien bei der Ressourcenlast kommen.
    Lösung: Versuchen Sie es mit der Anwendungstrennung und verwenden Sie verschiedene Server zum Hosten verschiedener Anwendungen. Beispielsweise wird die Datenbank vollständig von RDS gehostet, was den Ressourcenverbrauch des Servers selbst und die große Anzahl von Aufrufen innerhalb des Servers reduziert. Im Hinblick auf die Programmoptimierung können Sie Anpassungen entsprechend Ihrer eigenen Konfiguration vornehmen, z. B. die Anzahl der Verbindungen und Cache-Konfigurationen sowie verschiedene Parameter bei Web- und Datenbankaufrufen usw. anpassen. Analyse und Verarbeitung ungewöhnlich hoher Auslastung
    Eine ungewöhnlich hohe CPU-Auslastung kann durch bösartige Viren und Trojaner verursacht werden. Manchmal nutzen Schadprogramme von Drittanbietern svchost.exe oder Tcpsvcs.exe des Betriebssystems, um sich zu tarnen, was zu einer hohen CPU-Auslastung führt. Sie müssen abnormale Prozesse manuell erkennen und beenden.

    Tipps

    : Wenn Sie nicht feststellen können, ob es sich bei dem Prozess um einen Virus oder Trojaner handelt, empfiehlt es sich, den Prozessnamen online zu suchen und zu bestätigen. Darüber hinaus wird empfohlen, vor dem Löschen des Vorgangs vorab einen Snapshot zu erstellen, um die Sicherung abzuschließen.

    Verwenden Sie kommerzielle Antivirensoftware oder verwenden Sie das kostenlose Sicherheitstool Microsoft Safety Scanner zum Scannen und Antivirenprogramm im abgesicherten Modus. Der Tool-Link lautet wie folgt.

      https://www.microsoft.com/security/scanner/zh-cn/default.aspx
    • Führen Sie Windows Update aus, um die neuesten Microsoft-Sicherheitspatches zu installieren.
    • Verwenden Sie MSconfig, um alle nicht von Microsoft stammenden Diensttreiber zu deaktivieren und zu prüfen, ob das Problem erneut auftritt. Informationen zu bestimmten Vorgängen finden Sie unter

      So führen Sie einen sauberen Neustart im Windows-System durch
    • .
    • Wenn der Server oder die Site einen DDoS- oder CC-Angriff erleidet, wird in kurzer Zeit eine große Anzahl von Zugriffsanforderungen generiert. Sie können sich beim „Cloud Security Center“ anmelden, um zu überprüfen, ob der Schutzschwellenwert für DDoS-Angriffe in Cloud Shield angepasst wurde, und um zu überprüfen, ob der CC-Schutz aktiviert ist. Wenn der Angriff den Schwellenwert nicht auslöst und Cloud Shield nicht gereinigt wird, können Sie sich an den Kundendienst wenden, um mit der Reinigung zu beginnen.

    • Bedienungsbeispiel

    Mögliche Gründe für eine hohe CPU-Auslastung sind wie folgt.

    Virus-Trojaner-Invasion.
    • Antivirensoftware von Drittanbietern wird ausgeführt.
    • Anwendungsausnahmen, Treiberausnahmen, Anwendungen mit hoher E/A-Nutzung oder hoher Interrupt-Verarbeitung.
    Tipps

    : Bei Verwendung einer 1-Kern-1-GB-Instanz von Windows Server 2012 wird der Windows Update-Dienst automatisch aktualisiert und die CPU-Auslastung der Instanz steigt plötzlich an. Dies ist normal.

    Lösung

    Tipps

    : In diesem Artikel werden zahlreiche offizielle Dokumente und Tool-Links zitiert. Die Urheberrechte und Eigentumsrechte liegen vollständig bei Microsoft werden nicht rechtzeitig aktualisiert.

      Überprüfen Sie bei hoher CPU-Auslastung, ob der Windows Update-Prozess im Hintergrund ausgeführt wird.
    • Überprüfen Sie, ob die Antivirensoftware Scanvorgänge im Hintergrund durchführt. Sie können die Antivirensoftware auf die neueste Version aktualisieren oder die Antivirensoftware löschen.
    • Klicken Sie auf
    • Ausführen

      , geben Sie dann MSCONFIG ein, deaktivieren Sie alle nicht von Microsoft stammenden Diensttreiber und prüfen Sie dann, ob das Problem erneut auftritt. Relevante Referenzdokumente sind wie folgt.

    • So führen Sie einen sauberen Neustart unter Windows durch

    • Verwenden Sie kommerzielle Antivirensoftware oder Microsoft Security Scanner, um im abgesicherten Modus nach Viren zu suchen. Die Referenzdokumentation für Microsoft Security Scanner lautet wie folgt.
    • Microsoft Security Scanner

    • Führen Sie Windows Update aus, um die neuesten Microsoft-Sicherheitspatches zu installieren.
    • Wenn eine ECS-Instanz viel Festplattenzugriff und Netzwerkzugriff hat und hohe Rechenanforderungen hat, ist es normal, dass die CPU-Auslastung hoch ist. Sie können mit unzureichenden Ressourcen umgehen, indem Sie die Instanzspezifikationen aktualisieren. Informationen zum Aktualisieren von Instanzspezifikationen finden Sie in den folgenden Dokumenten.
    • Zusammenfassung der Upgrade- und Downgrade-Methoden
    • Weitere Lösungen finden Sie in den folgenden Microsoft-Dokumenten.

      So beheben Sie Probleme mit hoher CPU-Leistung im Systemprozess
    • Weitere Informationen

    Im Folgenden finden Sie die relevanten Inhalte, die für Tools zur Fehlerbehebung bei Windows-Instanzen empfohlen werden.

    Task-Manager

    Überprüfen Sie visuell die Anwendungsliste und suchen Sie nach Anwendungen, die mehr CPU beanspruchen. Das Folgende ist die Seite des Task-Managers.

    Process Explorer

    • Process Explorer ist ein Microsoft Sysinternals-Tool, das durch die Konfiguration der richtigen Symbole den vom Thread der entsprechenden Anwendung aufgerufenen Aufrufstapel überprüft, um mögliche Problemtreiber zu finden. Der Link zum Herunterladen des Process Explorer-Tools lautet wie folgt.
    • Das Folgende ist die Seite zur Verwendung des Process Explorer-Tools.
      So lösen Sie das Problem der 100 % CPU-Auslastung

    Leistungsmonitor

    • Leistungsmonitor (Leistungsmonitor) ist Microsofts professionelles Tool zum Sammeln von Leistungsindikatoren verschiedener Komponenten. Für den CPU-Ressourcenverbrauch des Systems müssen mehrere Zähler überprüft werden. Öffnen Sie den Leistungsmonitor, indem Sie auf Start > klicken. Leistung hat die folgenden drei Kernparameter. Dabei ist Prozessor(_Total)% Prozessorzeit die Summe aus Prozessor(*)% Benutzerzeit und Prozessor(*)% privilegierte Zeit. Prozessor(_Total)% Prozessorzeit
    • Prozessor(*)% BenutzerzeitProcessor(_Total)% Processor TimeProcessor(*)% User TimeProcessor(*)% Privileged Time之和。
      • Processor(_Total)% Processor Time
      • Processor(*)% User Time
      • Processor(*)% Privileged Time
    • Processor(*)% Privileged Time是应用程序在内核中执行系统调用(例如驱动、IRP,上下文切换等)操作的时间。如果操作系统花费多余30%的时间在Privileged Time,如下图所示,则说明实例正在进行高I/O吞吐相关的操作。
      So lösen Sie das Problem der 100 % CPU-Auslastung
    • % Privileged Time很高时,需要进一步检查% DPC Time% Interrupt Time以及Context Switches/sec的情况。
    • % DPC Time% Interrupt Time很高时,需使用Microsoft  Xperf工具进一步分析,请参考如下文档使用XPerf工具。
    • Context Switch值很高时,请参考如下文档。
    • Processor(*)% User Time表示处理器用于执行程序代码的时间消耗,可以确定哪个应用程序或函数调用消耗了较多的时间。
    • User Time
      Prozessor(*)% privilegierte ZeitSo lösen Sie das Problem der 100 % CPU-Auslastung
    • Processor(*)% Privileged Time ist die Zeit, die die Anwendung Systemaufrufe (wie Treiber, IRPs, Kontextwechsel usw.) im Kernel ausführt. Wenn das Betriebssystem mehr als 30 % der Zeit in privilegierter Zeit verbringt, wie in der folgenden Abbildung dargestellt, bedeutet dies, dass die Instanz Vorgänge im Zusammenhang mit einem hohen E/A-Durchsatz ausführt.
    B6FA8B3AE4FF1 9933ab1abf9b7bafa.png

      Wenn % Privileged Time ist hoch, weitere Prüfungen sind für % DPC Time, % Interrupt Time und Context Switches/sec erforderlich Situation.
    • Hohe % DPC-Zeit und % Unterbrechungszeit bedeuten, dass das unbekannte Gerät eine große Anzahl von Vorgängen oder schlechte Leistungsprobleme aufweist. Bitte beachten Sie die folgenden Dokumente.
    🎜Wählen Sie Ihr eigenes Abenteuer: Hohe verzögerte Prozeduraufrufe (DPCs) oder hohe Interrupts🎜🎜🎜🎜🎜Hohe Kontextwechsel/Sek. bedeutet, dass es viele gibt Der Thread befindet sich im Status „Bereit“ und die Anzahl der Threads muss reduziert werden, um das Problem zu lösen. 🎜🎜🎜🎜Wenn % DPC Time und % Interrupt Time sehr hoch sind, müssen Sie zur weiteren Analyse das Microsoft Xperf-Tool verwenden. Bitte beachten Sie das folgende Dokument das XPerf-Tool. 🎜🎜🎜Windows IT Pro Magazine: Untersuchen von xPerf🎜🎜🎜🎜🎜Wenn der Kontextwechselwert sehr hoch ist, lesen Sie bitte das folgende Dokument. 🎜🎜Der Fall der 2 Millionen Kontextwechsel🎜🎜🎜Mark Russinovich's The Case of the System Process CPU Spikes🎜🎜🎜🎜🎜Processor(*)% User TimeGibt die Zeit an, die der Prozessor für die Ausführung von Programmcode benötigt, wodurch bestimmt werden kann, welche Anwendung verwendet wird oder Funktionsaufrufe nehmen mehr Zeit in Anspruch. 🎜🎜Die Situation bei hoher Benutzerzeit ist in der folgenden Abbildung dargestellt. 🎜🎜🎜🎜🎜🎜🎜Anwendbar für 🎜🎜🎜Cloud Server ECS🎜🎜🎜

    Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem der 100 % CPU-Auslastung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn