ComfyUI: Nicht genügend Arbeitsspeicher unter Windows: VRAM, RAM oder Datenträger?
Wenn ComfyUI unter Windows CUDA out of memory meldet, untersuchen Sie zuerst den GPU-Speicher und den Workflow, der fehlgeschlagen ist. Das Löschen generierter Bilder gibt Speicherplatz auf dem Datenträger frei, erhöht aber nicht den dedizierten VRAM. Eine allgemeine Meldung über zu wenig Arbeitsspeicher kann auch den Systemspeicher betreffen. Behalten Sie deshalb den tatsächlichen Fehlertext bei, statt jeden Fehlschlag als dasselbe Problem zu behandeln.
Behalten Sie den fehlschlagenden Workflow und ermitteln Sie die Phase
Speichern Sie den Workflow und notieren Sie Modell, Auflösung, Batch-Größe und den Node, an dem die Ausführung stoppt. Nutzen Sie den Fehlerbericht und das Terminal-Protokoll, um das Laden eines Modells, das Sampling, das Dekodieren eines Bildes und die Ausführung eines benutzerdefinierten Nodes zu unterscheiden. Die Phase ist wichtig, weil jede unterschiedlich viel Speicher benötigen kann.
ComfyUIs Fehlerbehebungsleitfaden empfiehlt, den Bericht zu prüfen, Bildgröße oder Batch-Größe zu verringern und Probleme mit benutzerdefinierten Nodes auszuschließen. Behandeln Sie diese Schritte als kontrollierte Vergleiche. Aktualisieren Sie nicht gleichzeitig alle Nodes, ersetzen Sie nicht Python und ändern Sie nicht das Modell, denn ein erfolgreicher erneuter Lauf würde dann nicht mehr zeigen, welche Änderung ausschlaggebend war.
Lesen Sie GPU-Speicher und Systemspeicher getrennt
Öffnen Sie den Task-Manager › Leistung und prüfen Sie den dedizierten Speicher der GPU zusammen mit der Seite Arbeitsspeicher, während Sie den Fehler reproduzieren. Stellen Sie auf einem PC mit mehreren GPUs sicher, dass Sie die GPU betrachten, die tatsächlich für den Workflow verwendet wird.
| Ressource | Was sich bei Knappheit ändert |
|---|---|
| Dedizierter GPU-Speicher | Ob Modell und Zwischentensoren auf die GPU passen |
| Systemspeicher und Commit | Ob Windows und CPU-seitige Arbeit Platz haben |
| Speicherplatz auf dem Datenträger | Ob Modelle, Ausgaben und Auslagerungsdateien wachsen können |
Gemeinsam genutzter GPU-Speicher ist kein zusätzlicher physischer VRAM auf der Grafikkarte. Eine große freie SSD bedeutet nicht, dass ein großes Modell auf diese Karte passt. Microsofts Erklärung zum GPU-Task-Manager beschreibt die verschiedenen Anzeigen.
Das erste Experiment auf den fehlschlagenden Knoten abstimmen
Ein Bericht über zu wenig Arbeitsspeicher enthält in der Regel mehr nützliche Informationen als nur der rot markierte Knoten. Halten Sie den ersten Zuordnungsfehler und den Knoten fest, der ihn ausgelöst hat; spätere Ausnahmen können Folgen dieses ersten Fehlers sein. Speichern Sie eine Kopie des Workflows, bevor Sie dessen Graph ändern.
| Fehlerphase | Erster kontrollierter Vergleich | Was das Ergebnis belegen kann |
|---|---|---|
| Laden eines Checkpoints oder Text-Encoders | Ein kompatibles kleineres Modell mit derselben minimalen Aufgabe | Ob der Ladebedarf das Hindernis ist |
| Sampling | Batch eins, danach in einem separaten Lauf niedrigere unterstützte Bildabmessungen | Ob die Zwischenlast bei kleinerer Größe passt |
| VAE-Decode nach dem Sampling | Ein kompatibler gekachelter VAE-Decode | Ob das Decoding die Spitzenlast war, die fehlgeschlagen ist |
| Hochskalieren oder Videoverarbeitung | Eine kleinere Eingabe oder weniger Frames, sofern unterstützt | Ob die Eingabegröße dieser Phase den Fehler verursacht |
| Ein benutzerdefinierter Knoten | Das kleinste unterstützte integrierte Äquivalent | Ob der Fehler spezifisch für diesen Knotenpfad ist |
Dies sind Experimente, keine Garantien. Ein kleinerer Checkpoint kann die Modellfamilie, die erforderlichen Knoten oder die Ausgabequalität verändern, verwenden Sie daher einen Workflow, der ihn unterstützt. Wenn der erste Fehler das Laden von Gewichten betrifft, ändert eine Verringerung der endgültigen JPEG-Qualität nichts am benötigten Modellspeicher.
Führen Sie eine einfache Aufzeichnung über Modell, Seed, Auflösung, Batch, geänderten Knoten und Ergebnis. Behalten Sie denselben Seed bei, wenn der Workflow dies unterstützt, damit visuelle Vergleiche einfacher sind, und beachten Sie dabei, dass eine Änderung der Präzision oder der Knoten das Bild dennoch verändern kann. Sobald eine kleine Konfiguration durchläuft, stellen Sie jeweils eine Anforderung wieder her, bis die limitierende Phase klar wird.
Reduzieren Sie jeweils nur eine Anforderung
Beginnen Sie mit einer Batch-Größe von eins und einer kleineren unterstützten Auflösung. Wenn der Workflow dann durchläuft, erhöhen Sie nur eine Dimension und wiederholen Sie den Vorgang. Eine Verdopplung von Bildbreite und -höhe ergibt viermal so viele Pixel, bedeutet aber nicht zwangsläufig genau den vierfachen VRAM, da Modelle und verschiedene Nodes ihre eigenen Kosten haben.
Wenn der Fehler beim Dekodieren statt beim Sampling auftritt, probieren Sie einen kompatiblen Node für gekacheltes VAE-Dekodieren, wenn der Workflow dies unterstützt. Prüfen Sie die Ausgabe auf Nähte oder andere Unterschiede. Wenn ein einzelnes Modell nicht geladen werden kann, lösen kleinere Ausgabedimensionen allein das Problem möglicherweise nicht. Testen Sie ein Modell oder eine Genauigkeit, die von diesem Workflow und der Hardware unterstützt wird.
Speichern und schließen Sie andere GPU-intensive Arbeiten vor einem weiteren Lauf. Wenn der Speicher nach einem fehlgeschlagenen Auftrag belegt bleibt, starten Sie ComfyUI nach dem Speichern des Workflows normal neu. Ein Neustart kann eine abgebrochene Arbeitslast freigeben, aber einen überdimensionierten Workflow nicht zuverlässig passend machen.
Das VAE-Decoding ändern, ohne den gesamten Workflow neu aufzubauen
Die VAE Decode Tiled-Dokumentation von ComfyUI beschreibt das Decodieren von Latent-Samples in kleineren Kacheln. Verbinden Sie in einer gespeicherten Kopie eines kompatiblen Bild-Workflows dieselben Latent-Samples und dasselbe VAE mit dem Knoten für gekacheltes Decoding und verbinden Sie dessen Bildausgabe mit dem vorhandenen Speicher- oder Vorschauknoten. Behalten Sie den ursprünglichen Workflow bei, damit die Änderung umkehrbar bleibt.
Beginnen Sie mit den verfügbaren Standardwerten des Knotens, statt mehrere Kachel- und Überlappungswerte aus einem anderen Modell zu übernehmen. Wenn eine kleinere Kachel benötigt wird, ändern Sie nur diesen Wert und prüfen Sie sowohl den Speicherverbrauch als auch das resultierende Bild. Kleinere Teile können den Arbeitsspeicherbedarf senken, verursachen aber zusätzlichen Verarbeitungsaufwand; prüfen Sie weiche Verläufe, Grenzen und feine Details, bevor Sie das Ergebnis akzeptieren.
Das Kacheln beim Decoding verringert nicht den Speicher, der früher zum Laden des Modells oder Ausführen des Samplers benötigt wird. Wenn der Lauf das Decoding nie erreicht, verlagern Sie die Untersuchung zurück auf die fehlschlagende Phase. Ein Video-VAE oder ein spezialisiertes Modell benötigt möglicherweise einen eigenen kompatiblen Knoten, ersetzen Sie daher einen Bild-Decoder nicht allein deshalb, weil sein Name „tiled“ enthält.
Nutzen Sie den Optimierungspfad für Ihre Installation
Der offizielle Leitfaden dokumentiert --lowvram für manuelle Installationen. Für eine manuelle Installation, die aus ihrer eigenen Umgebung gestartet wird, lautet die Form:
python main.py --lowvram
Dies ist kein universeller Befehl zum Einfügen in ComfyUI Desktop, ein portables Bundle oder einen Drittanbieter-Launcher. Nutzen Sie die unterstützten Starteinstellungen dieser Installation und behalten Sie bestehende Argumente bei. Arbeit vom GPU-Speicher wegzuverlagern kann Geschwindigkeit und Systemspeicher gegen einen geringeren VRAM-Bedarf eintauschen.
Bei Fehlern mit benutzerdefinierten Nodes vergleichen Sie mit einem integrierten Workflow und folgen Sie ComfyUIs Fehlerbehebung für benutzerdefinierte Nodes. Bewahren Sie den ursprünglichen Workflow auf und notieren Sie, welche Nodes deaktiviert wurden. Ein fehlender benutzerdefinierter Node verändert den Workflow. Vergleichen Sie deshalb die kleinste äquivalente Aufgabe, die Sie reproduzieren können.
Starteinstellungen nach dem Vergleich wiederherstellen
Bewahren Sie eine Kopie des Launchers oder eine Notiz seiner Argumente auf, bevor Sie eine Speicheroption ausprobieren. Eine manuelle Python-Umgebung, ein portables Windows-Paket und die Desktop-App starten nicht unbedingt auf dieselbe Weise. Fügen Sie eine Option nur über den Mechanismus hinzu, der diese Installation tatsächlich startet; das Anlegen einer zweiten Python-Umgebung kann ein anderes Problem einführen.
Die Referenz zu den Startparametern von ComfyUI beschreibt mehrere unabhängige Speicher- und Cache-Steuerungen. Sie sind keine Sammlung von Schaltern, die gemeinsam aktiviert werden. So kann eine Verringerung des Ergebnis-Cachings den belegten Speicher senken, aber mehr Knoten erneut ausführen. CPU-Offloading kann zusätzlichen System-RAM benötigen und den Workflow verlangsamen.
Prüfen Sie nach einem erfolgreichen Lauf, ob die Ausgabe vollständig und brauchbar ist, und wiederholen Sie dann die normale Aufgabe. Wenn die Änderung nur einen winzigen Test ermöglicht, der erforderliche Workflow aber weiterhin fehlschlägt, halten Sie diese Grenze fest. Entfernen Sie ein nutzloses Testargument aus dem ursprünglichen Launcher und kehren Sie vor einem weiteren Experiment zur letzten funktionierenden Konfiguration zurück.
Wenn die Systemauslastung der Engpass ist, prüfen Sie den Windows-Arbeitsspeicher zusammen mit dem GPU-Speicher und behalten Sie eine funktionierende Auslagerungsdatei-Konfiguration bei. Das Vergrößern der Festplattenkapazität, das Erhöhen des Auslagerungsdatei-Limits und das Verringern des dedizierten VRAM-Bedarfs sind unterschiedliche Eingriffe; keiner sollte als universelle Lösung für die anderen dargestellt werden.
Behandeln Sie die Bereinigung der Ausgaben als separate Aufgabe
Generierte Bilder und Videos können beträchtlichen Speicherplatz auf dem Datenträger belegen. Prüfen Sie sie nach Projekt und behalten Sie den Workflow und die Assets, die nötig sind, um wertvolle Ergebnisse zu reproduzieren. Sichern Sie alles, was Sie behalten wollen, bevor Sie seine einzige Kopie löschen.
Wenn der Fehler eine Windows-Knappheit beim Commit ist, erklärt der Windows-Speicherleitfaden, wie sich das vom VRAM unterscheidet. Löschen Sie nicht die Auslagerungsdatei, damit das Laufwerk sauberer aussieht. Wenn Sie einen anhaltenden Fehler melden, geben Sie den genauen Fehler, GPU und Treiber, Installationstyp und den kleinsten fehlschlagenden Workflow an, mit privaten Prompts und Pfaden entfernt.