Windows 上 ComfyUI 記憶體不足:VRAM、RAM 還是磁碟?
當 ComfyUI 在 Windows 回報 CUDA out of memory 時,請先檢查 GPU 記憶體與失敗的工作流程。刪除產生的影像會釋放磁碟空間,但不會增加專用 VRAM。籠統的記憶體不足訊息也可能涉及系統 RAM,因此請保留實際的錯誤文字,不要把所有失敗都當成同一個問題。
保留失敗的工作流程並找出階段
儲存工作流程,並記下模型、解析度、批次大小,以及執行停止的節點。利用錯誤報告與終端機記錄,區分載入模型、取樣、解碼影像與執行自訂節點。階段很重要,因為每個階段需要的記憶體量可能不同。
ComfyUI 的疑難排解指南建議檢查報告、降低影像尺寸或批次大小,並排除自訂節點的問題。請把這些當成受控的比較。不要同時更新所有節點、更換 Python 並更改模型,因為這樣即使重新執行成功,也無法看出是哪一項變更發揮作用。
分開查看 GPU 記憶體與系統記憶體
重現失敗時,開啟 工作管理員 › 效能,同時查看 GPU 的專用記憶體與記憶體頁面。在多 GPU 的電腦上,請確認你看的是實際用於該工作流程的 GPU。
| 資源 | 短缺時會改變什麼 |
|---|---|
| 專用 GPU 記憶體 | 模型與中間張量是否能放進 GPU |
| 系統 RAM 與認可 | Windows 與 CPU 端工作是否有空間 |
| 磁碟空間 | 模型、輸出與分頁檔是否能成長 |
共用 GPU 記憶體不是顯示卡上額外的實體 VRAM。SSD 上空閒空間很大,不代表大型模型就能放進那張卡。Microsoft 的工作管理員 GPU 說明說明了不同的讀數。
將第一個實驗對應到發生失敗的節點
記憶體不足的報告通常比單看紅色節點包含更多有用的資訊。請保留第一個配置錯誤以及引發該錯誤的節點;後續的例外可能只是那第一個失敗所造成的結果。在變更工作流程的圖之前,先儲存一份副本。
| 失敗階段 | 第一個受控比較 | 結果能確立什麼 |
|---|---|---|
| 載入檢查點或文字編碼器 | 一個相容的較小模型,搭配相同的最小任務 | 載入需求是否就是障礙 |
| 取樣 | 批次設為一,接著在另一次執行中降低支援的影像尺寸 | 較小的尺寸下,中間工作量是否放得下 |
| 取樣後的 VAE 解碼 | 相容的分塊 VAE 解碼 | 解碼是否就是發生失敗的峰值 |
| 放大或影片處理 | 一個較小的輸入或較少的影格,若支援的話 | 該階段的輸入大小是否導致失敗 |
| 自訂節點 | 最小支援的內建對應節點 | 失敗是否專屬於該節點路徑 |
這些是實驗,不是保證。較小的檢查點可能改變模型系列、所需節點或輸出品質,因此請使用支援它的工作流程。若第一個錯誤與載入權重有關,降低最終 JPEG 品質並不會改變所需的模型記憶體量。
請簡單記錄模型、隨機種子、解析度、批次、變更的節點與結果。在工作流程支援時保留相同的隨機種子,讓視覺比較更容易,同時要了解變更精度或節點仍可能改變影像。一旦小配置能完成,就一次恢復一項需求,直到限制階段變得清楚。
一次降低一項需求
先從批次大小為一與較小的支援解析度開始。如果工作流程因此完成,只增加一個維度並重複。同時把影像寬度與高度加倍會變成四倍的像素,但不代表總 VRAM 恰好是四倍,因為模型與不同節點各有自己的成本。
如果失敗發生在解碼而非取樣,當工作流程支援時,可試試相容的平鋪 VAE 解碼節點。檢查輸出是否有接縫或其他差異。如果單一模型無法載入,只降低輸出尺寸可能無法解決問題。請測試該工作流程與硬體支援的模型或精度。
再次執行前,請儲存並關閉其他大量使用 GPU 的工作。如果工作失敗後記憶體仍被占用,請在儲存工作流程後正常重新啟動 ComfyUI。重新啟動可以釋放被遺棄的工作負載,但不會讓過大的工作流程穩定地放得下。
變更 VAE 解碼而不重建整個工作流程
ComfyUI 的 VAE Decode Tiled 文件 說明如何以較小的分塊解碼潛在樣本。在相容影像工作流程的已儲存副本中,將相同的潛在樣本與 VAE 連接到分塊解碼節點,再將其影像輸出連接到既有的儲存或預覽節點。保留原始工作流程,讓這項變更可以還原。
請從節點可用的預設值開始,不要從另一個模型複製多個分塊與重疊值。若需要較小的分塊,只變更該值,並同時檢查記憶體用量與產生的影像。較小的分塊可以縮減工作集,但會增加處理負擔;在接受結果之前,請檢查平滑漸層、邊界與細節。
在解碼時分塊並不會減少先前載入模型或執行取樣器所需的記憶體。若執行從未到達解碼階段,請將調查移回失敗階段。影片 VAE 或特殊模型可能需要自己的相容節點,因此不要只因為名稱包含「tiled」就改用影像解碼器。
依你的安裝方式使用最佳化路徑
官方指南記錄了手動安裝的 --lowvram。若手動安裝是從自己的環境啟動,形式為:
python main.py --lowvram
這不是可貼進 ComfyUI Desktop、可攜式套件或第三方啟動器的通用指令。請使用該安裝支援的啟動設定,並保留現有引數。把工作移出 GPU 記憶體,可能以速度與系統 RAM 換取較低的 VRAM 需求。
若失敗涉及自訂節點,請與內建工作流程比較,並遵循 ComfyUI 的自訂節點疑難排解。保留原始工作流程,並記錄停用了哪些節點。缺少自訂節點會改變工作流程,因此請比較你能重現的最小等效任務。
比較後還原啟動設定
在嘗試記憶體選項之前,請保留啟動器的副本或其引數的筆記。手動 Python 環境、Windows 可攜式套件與 Desktop 應用程式不一定以相同方式啟動。只透過實際啟動此安裝的機制加入選項;建立第二個 Python 環境可能引入不同的問題。
ComfyUI 的 啟動旗標參考 說明數個獨立的記憶體與快取控制項。它們不是要一起啟用的開關集合。例如,減少結果快取可以降低保留的記憶體,但會導致更多節點重新執行。CPU 卸載可能需要額外的系統記憶體,並使工作流程變慢。
成功執行之後,請檢查輸出是否完整且可用,然後重複一般任務。若變更只能讓一個小測試通過,但所需的工作流程仍然失敗,請記錄該邊界。從原始啟動器移除沒有幫助的測試引數,並在進行另一次實驗之前回到最後可用的配置。
若系統承諾量是瓶頸,請同時檢查 Windows 記憶體與 GPU 記憶體,並保留可用的分頁檔配置。增加磁碟容量、提高分頁檔上限與降低專用 VRAM 需求是不同的介入方式;不應將任何一項呈現為其他項目的通用解方。
把輸出清理當成另一項任務
產生的影像與影片可能佔用相當大的磁碟空間。請依專案檢視,並保留重現有價值結果所需的工作流程與素材。在刪除唯一副本之前,先備份任何你想保留的內容。
如果錯誤是 Windows 認可不足,Windows 記憶體指南說明了它與 VRAM 的不同。不要為了讓磁碟看起來更乾淨而刪除分頁檔。回報持續發生的失敗時,請附上確切的錯誤、GPU 與驅動程式、安裝類型,以及最小的失敗工作流程,並移除私密的提示詞與路徑。