ComfyUI Onvoldoende Geheugen op Windows: VRAM, RAM of Schijf?
Wanneer ComfyUI CUDA out of memory meldt op Windows, onderzoek dan eerst GPU-geheugen en de workflow die is mislukt. Gegenereerde afbeeldingen verwijderen maakt schijfruimte vrij, maar verhoogt het toegewijde VRAM niet. Een algemene melding van onvoldoende geheugen kan ook systeem-RAM betreffen, dus bewaar de werkelijke fouttekst in plaats van elke fout als hetzelfde probleem te behandelen.
Bewaar de mislukkende workflow en localiseer de fase
Sla de workflow op en noteer het model, de resolutie, de batchgrootte en de node waar de uitvoering stopt. Gebruik het foutrapport en het terminal-log om onderscheid te maken tussen het laden van een model, sampling, het decoderen van een afbeelding en het uitvoeren van een aangepaste node. De fase is belangrijk omdat elk een andere hoeveelheid geheugen nodig kan hebben.
ComfyUI's troubleshootinggids raadt aan het rapport te controleren, de afbeeldingsgrootte of batchgrootte te verkleinen en problemen met aangepaste nodes uit te sluiten. Behandel deze als gecontroleerde vergelijkingen. Werk niet alle nodes bij, vervang Python en wijzig het model tegelijkertijd, omdat een geslaagde herhaling dan niet meer onthult welke wijziging van belang was.
Lees GPU-geheugen en systeemgeheugen afzonderlijk
Open Taakbeheer › Prestaties en bekijk het toegewijde geheugen van de GPU naast de pagina Geheugen terwijl je de fout reproduceert. Zorg ervoor dat je kijkt naar de GPU die daadwerkelijk voor de workflow wordt gebruikt op een pc met meerdere GPU's.
| Resource | Wat een tekort verandert |
|---|---|
| Toegewezen GPU-geheugen | Of model- en tussentijdse tensors op de GPU passen |
| Systeem-RAM en toewijzing | Of Windows en CPU-werk ruimte hebben |
| Schijfruimte | Of modellen, uitvoer en wisselbestanden kunnen groeien |
Gedeeld GPU-geheugen is geen extra fysiek VRAM op de grafische kaart. Een grote vrije SSD betekent niet dat een groot model op die kaart past. Microsofts uitleg over Taakbeheer en GPU beschrijft de verschillende waarden.
Stem het eerste experiment af op de falende node
Een out-of-memory-rapport bevat meestal meer bruikbare informatie dan alleen de rode node. Houd de eerste toewijzingsfout en de node die deze veroorzaakte vast; latere uitzonderingen kunnen het gevolg zijn van die eerste fout. Sla een kopie van de workflow op voordat je de grafiek ervan wijzigt.
| Faalfase | Eerste gecontroleerde vergelijking | Wat het resultaat kan aantonen |
|---|---|---|
| Een checkpoint of tekstencoder laden | Eén compatibel kleiner model met dezelfde minimale taak | Of de laadvraag het obstakel is |
| Samplen | Batch één, daarna lagere ondersteunde afbeeldingsafmetingen in een aparte run | Of de tussenliggende werklast bij een kleiner formaat past |
| VAE-decodering na het samplen | Een compatibele getegelde VAE-decodering | Of de decodering de piek was die faalde |
| Opschalen of videoverwerking | Eén kleinere invoer of minder frames, indien ondersteund | Of de invoergrootte van die fase het falen bepaalt |
| Een aangepaste node | Het kleinste ondersteunde ingebouwde equivalent | Of het falen specifiek is voor dat nodepad |
Dit zijn experimenten, geen garanties. Een kleiner checkpoint kan de modelfamilie, vereiste nodes of uitvoerkwaliteit veranderen, dus gebruik een workflow die dit ondersteunt. Als de eerste fout het laden van gewichten betreft, verandert het verlagen van de uiteindelijke JPEG-kwaliteit niets aan de benodigde modelgeheugen.
Houd een eenvoudig overzicht bij van model, seed, resolutie, batch, gewijzigde node en resultaat. Behoud dezelfde seed wanneer de workflow dit ondersteunt, zodat visuele vergelijkingen makkelijker zijn, maar besef dat het wijzigen van precisie of nodes de afbeelding alsnog kan veranderen. Zodra een kleine configuratie voltooit, herstel je één vereiste per keer totdat de beperkende fase duidelijk wordt.
Verminder één vraag per keer
Begin met een batchgrootte van één en een kleinere ondersteunde resolutie. Als de workflow dan voltooit, verhoog dan slechts één dimensie en herhaal. Het verdubbelen van zowel de afbeeldingsbreedte als -hoogte maakt vier keer zoveel pixels, maar impliceert niet precies vier keer het totale VRAM omdat modellen en verschillende nodes hun eigen kosten hebben.
Als de fout optreedt bij het decoderen in plaats van bij sampling, probeer dan een compatibele getegelde VAE-decodeernode als de workflow dat ondersteunt. Controleer de uitvoer op naden of andere verschillen. Als een enkel model niet kan worden geladen, lost een kleinere uitvoerafmeting alleen het probleem mogelijk niet op. Test een model of precisie die door die workflow en hardware wordt ondersteund.
Sla ander GPU-intensief werk op en sluit het voordat je opnieuw probeert. Als geheugen bezet blijft na een mislukte taak, herstart ComfyUI dan normaal na het opslaan van de workflow. Een herstart kan een achtergebleven werklast vrijgeven, maar zorgt er niet voor dat een te grote workflow betrouwbaar past.
Wijzig VAE-decodering zonder de hele workflow opnieuw op te bouwen
De VAE Decode Tiled-documentatie van ComfyUI beschrijft het decoderen van latente samples in kleinere tegels. Verbind in een opgeslagen kopie van een compatibele afbeeldingsworkflow dezelfde latente samples en VAE met de getegelde decodeernode en verbind vervolgens de afbeeldingsuitvoer met de bestaande opslag- of voorbeeldnode. Bewaar de oorspronkelijke workflow zodat de wijziging omkeerbaar is.
Begin met de beschikbare standaardwaarden van de node in plaats van meerdere tegel- en overlapwaarden van een ander model over te nemen. Als een kleinere tegel nodig is, wijzig dan alleen die waarde en controleer zowel het geheugengebruik als de resulterende afbeelding. Kleinere stukken kunnen de werkset verkleinen maar voegen verwerkingskosten toe; inspecteer vloeiende gradiënten, randen en fijne details voordat je het resultaat accepteert.
Tegelen bij het decoderen vermindert niet het geheugen dat eerder nodig is om het model te laden of de sampler uit te voeren. Als de run het decoderen nooit bereikt, ga dan terug naar de falende fase in je onderzoek. Een video-VAE of een gespecialiseerd model kan zijn eigen compatibele node nodig hebben, dus vervang een afbeeldingsdecoder niet alleen omdat de naam 'tiled' bevat.
Gebruik het optimalisatiepad voor jouw installatie
De officiële gids documenteert --lowvram voor handmatige installaties. Voor een handmatige installatie die vanuit zijn eigen omgeving wordt gestart, is de vorm:
python main.py --lowvram
Dit is geen universeel commando om in ComfyUI Desktop, een draagbare bundel of een launcher van derden te plakken. Gebruik de ondersteunde startinstellingen van die installatie en behoud bestaande argumenten. Werk weg van GPU-geheugen kan snelheid en systeem-RAM inruilen voor een lagere VRAM-vereiste.
Voor fouten met aangepaste nodes, vergelijk met een ingebouwde workflow en volg ComfyUI's probleemoplossing voor aangepaste nodes. Bewaar de originele workflow en noteer welke nodes waren uitgeschakeld. Een ontbrekende aangepaste node verandert de workflow, dus vergelijk de kleinste equivalente taak die je kunt reproduceren.
Herstel de startinstellingen na de vergelijking
Bewaar een kopie van de launcher of een notitie van de argumenten ervan voordat je een geheugenoptie probeert. Een handmatige Python-omgeving, een draagbaar Windows-pakket en de Desktop-app starten niet noodzakelijk op dezelfde manier. Voeg een optie alleen toe via het mechanisme dat deze installatie daadwerkelijk start; een tweede Python-omgeving aanmaken kan een ander probleem introduceren.
De referentie voor startvlaggen van ComfyUI beschrijft verschillende onafhankelijke geheugen- en cachebesturingen. Het is geen verzameling schakelaars die je samen inschakelt. Het verminderen van resultaatcaching kan bijvoorbeeld het aangehouden geheugen verlagen maar zorgen dat meer nodes opnieuw worden uitgevoerd. CPU-offloading kan extra systeem-RAM nodig hebben en de workflow vertragen.
Controleer na een geslaagde run of de uitvoer compleet en bruikbaar is en herhaal daarna de normale taak. Als de wijziging alleen een kleine test mogelijk maakt maar de vereiste workflow nog steeds faalt, noteer dan die grens. Verwijder een onbruikbaar testargument uit de oorspronkelijke launcher en keer terug naar de laatst werkende configuratie voordat je een volgend experiment doet.
Als systeemtoewijzing de bottleneck is, inspecteer dan Windows Geheugen naast GPU-geheugen en behoud een werkende paginabestandsconfiguratie. Schijfcapaciteit vergroten, de paginabestandslimiet verhogen en de vraag naar toegewezen VRAM verlagen zijn verschillende ingrepen; geen ervan mag als een universele oplossing voor de andere worden gepresenteerd.
Houd het opruimen van uitvoer als een aparte taak
Gegenereerde afbeeldingen en video's kunnen aanzienlijke schijfruimte innemen. Beoordeel ze per project en bewaar de workflow en assets die nodig zijn om waardevolle resultaten te reproduceren. Maak een back-up van alles wat je wilt behouden voordat je de enige kopie verwijdert.
Als de fout een Windows-tekort aan toewijzing is, legt de Windows-geheugengids uit hoe dat verschilt van VRAM. Verwijder het wisselbestand niet om het station schoner te laten lijken. Wanneer je een aanhoudende fout meldt, voeg dan de exacte fout, GPU en stuurprogramma, installatietype en kleinste mislukkende workflow toe, met privéprompts en paden verwijderd.