Fehlerbehebung bei Softlockups der vCPU


In diesem Dokument wird beschrieben, wie Sie Probleme mit Soft Lockups von vCPUs beheben. Ein Soft Lockup tritt auf, wenn die vCPU einer VM-Instanz mehr als 20 Sekunden lang keine neue Aufgabe ausführen kann. Die meisten Soft Lockups werden durch Fehler in der Anwendungssoftware verursacht.

Soft Lockups können dazu führen, dass VMs für kurze Zeit nicht mehr reagieren, den SSH-Zugriff auf VMs unterbrechen und Anwendungszeitüberschreitungen oder Failover auslösen. Bei VMs, die einen Soft Lockup aufweisen, kann die CPU-Auslastung je nach genauer Ursache des Soft Lockups auch ungewöhnlich hoch oder ungewöhnlich niedrig sein.

Temporäre Sperrungen identifizieren

Führen Sie einen der folgenden Schritte aus, um festzustellen, ob auf Ihrer VM ein Soft Lockup auftritt:

Beispiel für einen Stacktrace für einen Soft Lockup

watchdog: BUG: soft lockup - CPU#3 stuck for 22s!

So können Sie künftige Soft Lockups erkennen:

  1. Logging der Ausgabe des seriellen Ports aktivieren

  2. Logbasierte Benachrichtigungsrichtlinie erstellen für das folgende Log:

    resource.type="gce_instance" log_id("serialconsole.googleapis.com/serial_port_1_output") textPayload=~"watchdog.*lockup"
    

Temporäre Sperrungen beheben

Nachdem Sie festgestellt haben, dass ein Soft Lockup auftritt, versuchen Sie, das Problem mit den folgenden Schritten zur Fehlerbehebung zu beheben:

  1. Suchen Sie auf der Website Ihres Betriebssystemanbieters nach bekannten Fehlern in Ihrer Betriebssystemversion. Manchmal finden Sie im Stacktrace einen Verweis auf bestimmte Kernelmodule, der auf eine bestimmte Funktion oder einen bestimmten Vorgang hinweist.
  2. Stellen Sie fest, ob das Soft Lockup mit einer bestimmten Häufigkeit auftritt, z. B. bei hoher Last oder bei bestimmten Aktivitäten. Wenn die Soft Lockups mit einer hohen Last zusammenhängen, müssen Sie möglicherweise Ihre Arbeitslast neu konfigurieren, z. B. indem Sie eine größere VM verwenden oder die Last auf mehrere VMs aufteilen.
  3. Prüfen Sie, ob die Soft Lockups mit Änderungen an Ihrer Laufzeitumgebung zusammenhängen, z. B. mit neuen Softwarebereitstellungen oder Updates des Betriebssystem-Images.
  4. Prüfen Sie, ob um den Zeitpunkt des Soft Lockup Wartungsereignisse stattgefunden haben. Sehen Sie dazu in den Audit-Logs nach Audit-Logs zu Systemereignissen.

Wenn das Problem durch die vorherigen Schritte zur Fehlerbehebung nicht behoben wurde, stellen Sie eine Supportanfrage und geben Sie alle Informationen an, die Sie bei der Fehlerbehebung gesammelt haben.

Best Practices zur Vermeidung von Soft Lockups

Um Soft Lockups auf Ihren VMs zu vermeiden, empfehlen wir Ihnen, die folgenden Best Practices zu implementieren:

  • Achten Sie darauf, dass für Ihr System geeignete redundante Komponenten wie Hochverfügbarkeitscluster konfiguriert sind, um eine Failover-Funktion bereitzustellen, wenn bei einer bestimmten VM ein längerer Soft Lockup auftritt. Weitere Informationen finden Sie unter Resiliente Systeme konzipieren.
  • Für rechenintensive Arbeitslasten sollten Sie computing-optimierte Maschinenfamilien verwenden.
  • Testen Sie Ihre Arbeitslast mit simulierten Wartungsereignissen, um zu sehen, wie sie sich bei der Live-Migration (falls aktiviert) verhält, insbesondere bei Lasttests.
  • Wenn Sie einen benutzerdefinierten Linux-Kernel oder benutzerdefinierte Module auf Ihrer VM ausführen, testen Sie neue Änderungen unter Last, bevor Sie sie in Ihrer Produktionsumgebung bereitstellen. Prüfen Sie, ob Sie aufgrund Ihrer benutzerdefinierten Änderungen keinen Support von Ihrem Betriebssystemanbieter erhalten.
  • Halten Sie Ihr Betriebssystem auf dem neuesten Stand. Weitere Informationen finden Sie unter Details zu Betriebssystemen.