Fehlerbehebung bei Softlockups der vCPU


In diesem Dokument wird beschrieben, wie Sie Softlockups von vCPUs beheben. Ein Softlock tritt auf, wenn die vCPU einer VM-Instanz länger als 20 Sekunden lang keine neue Aufgabe ausführen kann. Die meisten Soft-Locks werden durch Fehler in der Anwendungssoftware verursacht.

Soft Locks 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. VMs, bei denen es zu einem Soft-Lockup kommt, weisen möglicherweise eine ungewöhnlich hohe oder ungewöhnlich niedrige CPU-Auslastung auf, je nach der genauen Ursache des Soft-Lockups.

Soft Lockups identifizieren

So können Sie feststellen, ob bei Ihrer VM ein Softlockup auftritt:

Beispiel für einen Stack-Trace bei einem Soft-Lockup

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

So können Sie zukünftige Softlockups erkennen:

  1. Aktivieren Sie das Logging der Ausgabe des seriellen Ports.

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

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

Probleme mit Softlock-Situationen beheben

Wenn Sie festgestellt haben, dass ein Soft-Lockup auftritt, versuchen Sie Folgendes, um das Problem zu beheben:

  1. Suchen Sie auf der Website des Betriebssystemanbieters nach bekannten Fehlern bei Ihrer Betriebssystemversion. Manchmal finden Sie im Stack-Trace Verweise auf bestimmte Kernelmodule, die auf eine bestimmte Funktion oder einen bestimmten Vorgang hinweisen.
  2. Prüfen Sie, ob sich das Soft-Lockup mit einer bestimmten Häufigkeit wiederholt, z. B. bei hoher Auslastung oder bestimmten Aktivitäten. Wenn die Soft-Locks mit einer hohen Auslastung zusammenhängen, müssen Sie Ihre Arbeitslast möglicherweise neu konfigurieren, z. B. durch die Verwendung einer größeren VM oder die Aufteilung der Last auf mehrere VMs.
  3. Prüfen Sie, ob die Soft-Lockups mit Änderungen an Ihrer Laufzeitumgebung zusammenhängen, z. B. mit neuen Softwareimplementierungen oder Betriebssystem-Image-Updates.
  4. Prüfen Sie, ob um die Zeit des Soft-Lockups Wartungsereignisse stattgefunden haben. Sehen Sie sich dazu die Audit-Logs an.

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 erfasst haben.

Best Practices zur Vermeidung von Softlockups

Um Soft-Lockups bei Ihren VMs zu vermeiden, empfehlen wir die folgenden Best Practices:

  • Achten Sie darauf, dass für Ihr System geeignete redundante Komponenten konfiguriert sind, z. B. Hochverfügbarkeitscluster, um einen Failover zu ermöglichen, wenn bei einer bestimmten VM ein längerer Soft-Lockup auftritt. Weitere Informationen finden Sie unter Resiliente Systeme entwerfen.
  • Für rechenintensive Arbeitslasten sollten Sie computing-optimierte Maschinenfamilien verwenden.
  • Testen Sie Ihre Arbeitslast mit simulierten Wartungsereignissen, um die Leistung Ihrer Arbeitslast während der Live-Migration (falls aktiviert) zu ermitteln, insbesondere bei Lasttests.
  • Wenn Sie einen benutzerdefinierten Linux-Kernel oder benutzerdefinierte Module auf Ihrer VM ausführen, sollten Sie neue Änderungen unter Last testen, bevor Sie sie in Ihrer Produktionsumgebung bereitstellen. Prüfen Sie, ob Sie durch Ihre benutzerdefinierten Änderungen nicht den Support Ihres Betriebssystemanbieters verlieren.
  • Halten Sie Ihr Betriebssystem auf dem neuesten Stand. Weitere Informationen finden Sie unter Details zu Betriebssystemen.