1. Bewahren Sie die Meldung und den Kontext auf, bevor Sie neu starten
Hören Sie auf, der Warteschlange weitere Aufgaben hinzuzufügen. Notieren Sie den genauen Wortlaut des Fehlers, die betroffene Datei oder Frage, die Anzahl der gemeinsam verarbeiteten Elemente und den erreichten Schritt. Wurde das Modell geladen, lief die Berechnung oder wurde die Ausgabe gerade geschrieben? Bewahren Sie die Einstellungen in einer Notiz und die bereits fertigen Ergebnisse in ihrem Ordner auf.
Ein eingefrorener Bildschirm oder eine ohne Erklärung geschlossene Anwendung reicht nicht aus, um die Ursache zu bestimmen. Suchen Sie das Protokoll, sofern eines existiert. Eine Verbindungsstörung, eine ungültige Eingabe und ein voller Speicher können in der Oberfläche ähnliche Symptome hervorrufen. Wenn die Software nichts angibt, schreiben Sie „Ursache unbestimmt“ und bereiten Sie einen minimalen Test vor, statt eine Diagnose zu erfinden.
2. Trennen Sie GPU-Speicher, Systemspeicher und Speicherplatz
Der GPU-Speicher dient den Berechnungselementen auf der Karte. Der RAM des Servers und der Speicher decken andere Bedürfnisse ab. Die auf den BriefGPU-GPU-Datenblättern angegebenen Kapazitäten beschreiben nicht den tatsächlich verfügbaren RAM oder Speicherplatz. Prüfen Sie die in der Meldung genannte Ressource und die Informationen Ihrer Umgebung.
In Python bezeichnet MemoryError einen fehlgeschlagenen Speicherzuweisungsversuch; dieser Name allein bedeutet nicht einen Mangel an VRAM. Der Code ENOSPC steht für fehlenden Speicherplatz auf dem angesprochenen Gerät. Diese Hinweise lenken die Suche, doch das Anwendungsprotokoll bleibt nötig, um den Vorgang zu lokalisieren.
| Beobachtung | Erste Kontrolle | Was eine größere GPU allein nicht löst |
|---|---|---|
| CUDA-Meldung „out of memory“ während der Berechnung | Belegter Speicher der Karte, andere Aufgaben und Gruppengröße | Eine Software-Inkompatibilität oder eine beschädigte Datei |
| MemoryError während des Lesens von Dateien | Prozessspeicher, in den RAM geladene Datenmenge | Das Laden des gesamten Ordners in den Systemspeicher |
| No space left on device während eines Exports | Speicherplatz und eventuelles Kontingent des Ausgabe- oder temporären Ordners | Eine volle Festplatte oder eine Speichergrenze |
| Anwendung ohne verwertbare Meldung geschlossen | Protokoll, erreichter Schritt und Test mit einer einzigen Eingabe | Eine noch unbekannte Ursache |
3. Kehren Sie zu einer Eingabe und einer einzigen aktiven Aufgabe zurück
Prüfen Sie zuerst die Verarbeitungen, die Sie selbst gestartet haben. Eine Vorschau, eine alte Sitzung oder ein zweites Werkzeug kann noch arbeiten. Beenden Sie unnötig gewordene Aufgaben ordentlich, nachdem Sie ihren Zustand gesichert haben. Beenden Sie keinen Prozess, den Sie nicht erkennen, und starten Sie nicht die gesamte Umgebung neu, um ein paar Minuten Diagnose zu sparen.
Nehmen Sie die fehlgeschlagene Eingabe allein wieder auf, ohne ihre Qualität zu verringern. Wenn sie einzeln durchläuft, aber in der Gruppe fehlschlägt, wird die Anzahl gleichzeitiger Elemente zu einer Spur. Reduzieren Sie beispielsweise eine Gruppe von vier auf zwei und bei Bedarf auf eins. Die Anzahl der Dateien im Ordner bleibt gleich; nur die gleichzeitig verarbeitete Menge ändert sich.
Manche Werkzeuge bieten eine sequenzielle Verarbeitung an, um Speicherspitzen zu begrenzen. Diffusers dokumentiert insbesondere die Aufteilung der Dekodierung einer Bildgruppe. Diese Möglichkeit hängt von der verwendeten Pipeline ab: Prüfen Sie ihre Optionen, bevor Sie eine für ein anderes Modell gefundene Einstellung aktivieren.
4. Reduzieren Sie die Last, ohne das gewünschte Ergebnis zu verlieren
Wenn eine einzelne Eingabe fehlschlägt, prüfen Sie ihre Dimensionen oder ihre Länge. Bei einem Bild teilt der Wechsel von 2.048 × 2.048 auf 1.024 × 1.024 die Pixelzahl durch vier. Das garantiert nicht einen auf ein Viertel reduzierten Gesamtspeicher: Das Modell und die übrigen Elemente behalten ihren eigenen Bedarf. Eine Reduzierung ist nur akzeptabel, wenn die Ausgabe die nötigen Details behält.
Bei einem Assistenten unterscheiden Sie die bereitgestellten Dokumente, die Frage und die generierte Antwort. Der Generierungscache kann bei langem Kontext mehr Speicher verbrauchen; die genauen Mechanismen hängen vom Modell ab. Testen Sie eine kürzere Anfrage oder nur eine Anfrage auf einmal. Entfernen Sie nicht die Passage, die die Antwort enthält, und schließen Sie dann nicht, dass das Problem gelöst ist.
Behalten Sie immer die ursprüngliche Eingabe. Benennen Sie die Testvariante und notieren Sie, was sie ändert. Wenn das Tool eine Kachelung oder das Verschieben bestimmter Elemente in den RAM anbietet, prüfen Sie dessen Dokumentation und kontrollieren Sie die Übergänge, die Qualität und die beobachtete Zeit. Eine VRAM-sparende Option kann die Einschränkung woandershin verlagern.
5. Verwechseln Sie nicht reservierten und tatsächlich genutzten Speicher
Bei PyTorch sind der vom Allocator reservierte Speicher und der von den Tensoren belegte Speicher zwei verschiedene Messgrößen. Das Leeren des ungenutzten Caches gibt noch aktive Tensoren nicht frei. Ein Bereinigungsbefehl macht aus einer zu großen Last also keine kompatible Last.
Wenn ein sauberer Neustart Ihrer Anwendung hilft, spielen Sie anschließend denselben kleinen Fall erneut ab und notieren Sie das Ergebnis. Ein Erfolg nach dem Neustart beweist für sich genommen keinen behobenen Speicherfehler. Wenn der Verbrauch bei jedem identischen Durchlauf steigt, halten Sie diese Beobachtung fest und ziehen Sie die Dokumentation oder den Support der Software zu Rate, bevor Sie die Neustarts häufen.
Beispiel: das Problem in einem Ordner mit zwölf Bildern isolieren
Hier ein anschauliches Szenario, ohne Hardwaremessung. Eine Selbstständige bereitet zwölf Bilder vor, davon zwei mit großen Abmessungen und feinem Text. Die Verarbeitung in Gruppen von vier schlägt fehl. Sie behält die Meldung und versucht dann eines der großen Bilder allein, in der ursprünglichen Qualität. Die Tabelle zeigt, wie mögliche Beobachtungen zu deuten sind.
In diesem Szenario behält sie die Gruppen von zwei erst bei, nachdem sie die beiden großen Bilder zusammen und einige gewöhnliche Bilder kontrolliert hat. Sie prüft den Text und die Konturen in den exportierten Dateien. Sie verallgemeinert dieses Ergebnis nicht auf alle Bildgrößen, alle Modelle oder eine andere Software.
| Test des Szenarios | Hypothetische Beobachtung | Lokale Entscheidung |
|---|---|---|
| Vier gleichzeitige Bilder | Speicherfehler | Fehler festhalten und Gruppe verkleinern |
| Ein großes Bild, gleiche Einstellungen | Vollständige und akzeptable Ausgabe | Die Zielqualität kann für diesen Einzelfall aufgehen |
| Zwei große Bilder zusammen | Vollständige und akzeptable Ausgaben | Diese Gruppe an einem kurzen Abschnitt testen |
| Stark verkleinertes Bild | Berechnung abgeschlossen, Text unleserlich | Diese Verkleinerung trotz technischen Erfolgs verwerfen |
Wann eine andere Kapazität ein begründeter Ansatz wird
Vergleichen Sie eine andere Karte, wenn der Mangel an GPU-Speicher identifiziert ist, der unverzichtbare Fall allein fehlschlägt und die mit Ihrer Qualität vereinbaren Verkleinerungen nicht ausreichen. Behalten Sie die betreffende Software, Version, Parameter und Eingabe: Diese Akte macht den nächsten Versuch vergleichbar. Sie erlaubt es nicht, genau abzuleiten, wie viele zusätzliche GB genügen werden.
Ein Fehler beim Laden des Modells kann auch den Nutzen einer Verkleinerung der Gruppe schmälern: Ein erheblicher Teil der Last besteht bereits vor der ersten Eingabe. Optionen für Präzision oder Quantisierung ändern die Ausführungsbedingungen und manchmal die Ergebnisse; sie erfordern einen gesonderten Test. Das Hinzufügen von Batches vereinheitlicht nicht automatisch den Speicher mehrerer Karten.
Schließen Sie mit einer nutzbaren Diagnose ab
Ihre Abschlussnotiz besteht aus fünf Elementen: Meldung und Schritt, verdächtige Ressource, beibehaltene Eingabe, Einstellung, die funktioniert oder fehlschlägt, durchgeführte Qualitätskontrolle. Ergänzen Sie, was unbekannt bleibt. Wenn kein kleiner Fall funktioniert, hören Sie auf, den vollständigen Batch zu wiederholen, und bitten Sie mit diesen Informationen um Hilfe.
Löschen Sie nicht Ihre einzigen Originale, um Speicherplatz freizugeben, senken Sie nicht mehrere Parameter gleichzeitig und werten Sie eine teilweise Ausgabe nicht als Erfolg. Planen Sie Zeit ein, um die gültigen Ergebnisse zu sichern. Die Diagnose soll die Unsicherheit verringern; sie muss sich nicht in eine endlose Einstellungssitzung verwandeln.