Fehlerbehebung bei GPU-VMs


Auf dieser Seite wird beschrieben, wie Sie Probleme mit VMs beheben, die in der Compute Engine ausgeführt werden und an die GPUs angehängt sind.

Wenn Sie versuchen, eine VM mit angehängten GPUs zu erstellen, und Fehler erhalten, lesen Sie die Artikel Fehlerbehebung bei Fehlern bei der Ressourcenverfügbarkeit und Fehlerbehebung beim Erstellen und Aktualisieren von VMs.

Fehlerbehebung bei GPU-VMs mit NVIDIA DCGM

NVIDIA Data Center GPU Manager (DCGM) ist eine Suite von Tools zum Verwalten und Überwachen von NVIDIA-Rechenzentrums-GPUs in Clusterumgebungen.

Wenn Sie DCGM zur Fehlerbehebung in Ihrer GPU-Umgebung verwenden möchten, gehen Sie so vor:

  • Verwenden Sie den neuesten empfohlenen NVIDIA-Treiber für das GPU-Modell, das mit Ihrer VM verbunden ist. Informationen zu den Treiberversionen finden Sie unter Empfohlene NVIDIA-Treiberversionen.
  • Sie müssen die neueste Version von DCGM installiert haben. Informationen zum Installieren der aktuellen Version finden Sie unter DCGM installieren.

Probleme diagnostizieren

Wenn Sie einen dcgmi-Diagnosebefehl ausführen, enthalten die vom Diagnosetool gemeldeten Probleme die nächsten Schritte zur Behebung des Problems. Das folgende Beispiel zeigt die umsetzbare Ausgabe des Befehls dcgmi diag -r memory -j.

{
  ........
   "category":"Hardware",
   "tests":[
      {
         "name":"GPU Memory",
         "results":[
            {
               "gpu_id":"0",
               "info":"GPU 0 Allocated 23376170169
bytes (98.3%)",
               "status":"Fail",
               ""warnings":[
                  {
                     "warning":"Pending page
retirements together with a DBE were detected on GPU 0. Drain the GPU and reset it or reboot the node to resolve this issue.",
                     "error_id":83,
                     "error_category":10,
                     "error_severity":6
                  }
               ]
            }
  .........

Im vorherigen Ausgabe-Snippet sehen Sie, dass für GPU 0 ausstehende Deaktivierungsanfragen für Seiten vorliegen, die durch einen nicht wiederherstellbaren Fehler verursacht wurden. Die Ausgabe enthält die eindeutige error_id und Tipps zur Fehlerbehebung. Bei dieser Beispielausgabe wird empfohlen, die GPU zu entlasten und die VM neu zu starten. In den meisten Fällen kann das Problem durch Befolgen der Anleitung in diesem Abschnitt der Ausgabe behoben werden.

Supportfall eröffnen

Wenn Sie die Probleme nicht anhand der Informationen in der Ausgabe des dcgmi-Diagnoselaufs beheben können, können Sie eine Supportanfrage stellen. Wenn Sie eine Supportanfrage stellen, müssen Sie die folgenden Informationen angeben:

  1. Der ausgeführte Befehl und die zurückgegebene Ausgabe.
  2. Relevante Logdateien wie Host-Engine- und Diagnoseprotokolle Sie können das Skript gather-dcgm-logs.sh ausführen, um die erforderlichen Protokolldateien zu erfassen.

    Bei einer Standardinstallation auf Debian- und RPM-basierten Systemen befindet sich dieses Script unter /usr/local/dcgm/scripts.

  3. Geben Sie bei dcgmi diag-Fehlern die Statistikdateien für die betroffenen Plug-ins an. Die Statistikdatei verwendet die folgende Namenskonvention: stats_PLUGIN_NAME.json.

    Wenn beispielsweise das pcie-Plug-in fehlgeschlagen ist, fügen Sie die Datei mit dem Namen stats_pcie.json hinzu.

  4. NVIDIA-Systeminformationen und Treiberstatus Dazu kannst du das nvidia-bug-report.sh-Script ausführen.

    Das Ausführen dieses Scripts hilft auch bei der zusätzlichen Fehlerbehebung, wenn das Problem durch andere NVIDIA-Abhängigkeiten und nicht durch einen Fehler in DCGM selbst verursacht wird.

  5. Details zu allen kürzlichen Änderungen an Ihrer Umgebung, die vor dem Fehler aufgetreten sind.

Xid-Nachrichten

Nachdem Sie eine VM mit angehängten GPUs erstellt haben, müssen Sie NVIDIA-Gerätetreiber auf Ihren GPU-VMs installieren, damit Ihre Anwendungen auf die GPUs zugreifen können. Manchmal geben diese Treiber jedoch Fehlermeldungen zurück.

Eine Xid-Nachricht ist eine Fehlermeldung vom NVIDIA-Treiber, die in das Kernel- oder Ereignisprotokoll des Betriebssystems für Ihre Linux-VM gedruckt wird. Diese Nachrichten werden in der Datei /var/log/messages abgelegt.

Weitere Informationen zu Xid-Nachrichten, einschließlich möglicher Ursachen, finden Sie in der NVIDIA-Dokumentation.

Der folgende Abschnitt enthält Anleitungen zum Umgang mit einigen Xid-Nachrichten, die nach den häufigsten Typen gruppiert sind: GPU-Arbeitsspeicherfehler, GPU-Systemprozessor-Fehler und Fehler bezüglich ungültigen Arbeits-Speicherzugriff.

GPU-Arbeitsspeicherfehler

GPU-Arbeitsspeicher ist der Speicher, der auf einem GPU-Gerät verfügbar ist und zum temporären Speichern von Daten verwendet werden kann. Der GPU-Arbeits-Speicher ist durch den Fehlerkorrekturcode ECC geschützt, der Single-Bit-Fehler (SBE) erkennt und korrigiert und Double-Bit-Fehler (DBE) erkennt und meldet.

Vor der Veröffentlichung der NVIDIA A100-GPUs wurde die dynamische Seitendeaktivierung unterstützt. Für NVIDIA A100- und neuere GPU-Releases (z. B. NVIDIA H100) wird die Wiederherstellung nach Zeilenneuzuordnungsfehlern eingeführt. ECC ist standardmäßig aktiviert. Google empfiehlt dringend, ECC aktiviert zu lassen.

Im Folgenden sind einige häufige GPU-Arbeits-Speicherfehler und ihre empfohlenen Lösungen aufgeführt.

Xid-Fehlermeldung Lösung
Xid 48: Double Bit ECC
  1. Beenden Sie Ihre Arbeitslasten.
  2. Löschen und VM neu erstellen Wenn der Fehler weiterhin auftritt, erstellen Sie eine Supportanfrage an den Cloud Customer Care.
Xid 63: ECC page retirement or row remapping recording event
  1. Beenden Sie Ihre Arbeitslasten.
  2. Setzen Sie die GPUs zurück.
Xid 64: ECC page retirement or row remapper recording failure

Die Nachricht enthält die folgenden Informationen:

Xid 64: All reserved rows for bank are remapped
  1. Beenden Sie Ihre Arbeitslasten.
  2. Löschen und VM neu erstellen Wenn der Fehler weiterhin auftritt, erstellen Sie eine Supportanfrage an den Cloud Customer Care.

Wenn Sie mindestens zwei der folgenden Xid-Nachrichten gleichzeitig erhalten:

  • Xid 48
  • Xid 63
  • Xid 64

Die Nachricht enthält die folgenden Informationen:

Xid XX: row remap pending
  1. Beenden Sie Ihre Arbeitslasten.
  2. Setzen Sie die GPUs zurück. Wenn Sie die GPU zurücksetzen, können die Zeilen-Neuzuordnung und Seitendeaktivierung abgeschlossen und die GPU repariert werden.
Xid 92: High single-bit ECC error rate Diese Xid-Nachricht wird zurückgegeben, nachdem der GPU-Treiber einen korrigierbaren Fehler korrigiert hat. Sie sollte sich nicht auf Ihre Arbeitslasten auswirken. Diese Xid-Nachricht dient nur zu Informationszwecken. Sie müssen nichts tun.
Xid 94: Contained ECC error
  1. Beenden Sie Ihre Arbeitslasten.
  2. Setzen Sie die GPUs zurück.
Xid 95: Uncontained ECC error
  1. Beenden Sie Ihre Arbeitslasten.
  2. Setzen Sie die GPUs zurück.

Fehler im GSP

Ein GPU-Systemprozessor (GSP) ist ein Mikrocontroller, der auf GPUs ausgeführt wird und einige der Hardwareverwaltungsfunktionen auf niedriger Ebene übernimmt.

Xid-Fehlermeldung Lösung
Xid 119: GSP RPC timeout
  1. Beenden Sie Ihre Arbeitslasten.
  2. Löschen und VM neu erstellen Wenn der Fehler weiterhin auftritt, erstellen Sie einen NVIDIA-Fehlerbericht und reichen Sie eine Supportanfrage an den Cloud Customer Care ein.
Xid 120: GSP error

Ungültiger Arbeitsspeicherzugriff-Fehler

Die folgenden Xids werden zurückgegeben, wenn Anwendungen illegale Arbeits-Speicherzugriffsprobleme haben:

  • Xid 13: Graphics Engine Exception
  • Xid 31: GPU memory page fault

Ungültiger Arbeits-Speicherzugriff-Fehler werden normalerweise dadurch verursacht, dass Arbeitslasten versuchen, auf Arbeitsspeicher zuzugreifen, der bereits freigegeben wurde oder außerhalb des zulässigen Bereichs liegt. Dies kann durch Probleme wie die Dereferenzierung eines ungültigen Zeigers oder durch ein Array außerhalb des gültigen Bereichs verursacht werden.

Um dieses Problem zu beheben, müssen Sie Ihre Anwendung debuggen. Zum Debuggen Ihrer Anwendung können Sie cuda-memcheck und CUDA-GDB verwenden.

In einigen sehr seltenen Fällen kann ein Hardwareverschlechterung dazu führen, dass Fehler zu ungültigem Arbeits-Speicherzugriff zurückgegeben werden. Mit dem NVIDIA Data Center GPU Manager (DCGM) können Sie feststellen, ob das Problem an der Hardware liegt. Sie können dcgmi diag -r 3 oder dcgmi diag -r 4 ausführen, um verschiedene Level an Testabdeckung und -dauer auszuführen. Wenn Sie feststellen, dass das Problem an der Hardware liegt, reichen Sie eine Supportanfrage bei Cloud Customer Care ein.

Weitere häufige Xid-Fehlermeldungen

Xid-Fehlermeldung Lösung
Xid 74: NVLINK error
  1. Beenden Sie Ihre Arbeitslasten.
  2. Setzen Sie die GPUs zurück.
Xid 79: GPU has fallen off the bus

Das bedeutet, dass der Treiber nicht mit der GPU kommunizieren kann.

Starten Sie die VM neu.

GPUs zurücksetzen

Bei einigen Problemen müssen Sie möglicherweise Ihre GPUs zurücksetzen. So setzen Sie GPUs zurück:

  • Starten Sie N1-, G2- und A2-VMs neu, indem Sie sudo reboot ausführen.
  • Führen Sie für A3-VMs sudo nvidia-smi --gpu-reset aus.
    • Bei den meisten Linux-VMs befindet sich die ausführbare Datei nvidia-smi im Verzeichnis /var/lib/nvidia/bin.
    • Bei GKE-Knoten befindet sich die ausführbare Datei nvidia-smi im Verzeichnis /home/kubernetes/bin/nvidia.

Wenn die Fehler nach dem Zurücksetzen der GPU weiterhin auftreten, müssen Sie die VM löschen und neu erstellen.

Wenn der Fehler nach einem Löschen und Neuerstellen weiterhin besteht, senden Sie eine Supportanfrage an den Cloud Customer Care, um die VM in die Reparaturphase zu verschieben.

Nächste Schritte

GPU-Maschinentypen ansehen