Fehlerbehebung bei Softlockups der vCPU

In diesem Dokument wird beschrieben, wie Sie Probleme mit Soft Lockups von virtuellen CPUs 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 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 auch ungewöhnlich hoch oder niedrig sein, je nach genauer Ursache des Soft Lockups.

Teilweise Sperren identifizieren

So stellen Sie fest, 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 zukünftige Soft Lockups erkennen:

  1. Logging der Ausgabe des seriellen Ports aktivieren.

  2. Erstellen Sie eine logbasierte Benachrichtigungsrichtlinie für das folgende Log:

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

Teilweise Sperren beheben

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

  1. Prüfen Sie auf der Website Ihres Betriebssystemanbieters, ob bekannte Fehler mit Ihrer Betriebssystemversion vorliegen. Manchmal finden Sie im Stacktrace einen Verweis auf bestimmte Kernelmodule, der auf eine bestimmte Funktion oder einen bestimmten Vorgang hinweist.
  2. Stelle fest, ob das Soft Lockup regelmäßig auftritt, z. B. bei hoher Last oder 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 Betriebssystem-Image-Updates.
  4. Prüfen Sie anhand von Audit-Logs für Audit-Logs zu Systemereignissen, ob zum Zeitpunkt des Soft Lockup Wartungsereignisse stattgefunden haben.

Wenn das Problem durch die vorherigen Schritte zur Fehlerbehebung nicht behoben wurde, erstellen 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 Widerstandsfähige 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 während der Live-Migration (falls aktiviert) verhält, insbesondere bei Belastungstests.
  • 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.