# Windows 上 ComfyUI 記憶體不足：VRAM、RAM 還是磁碟？

當 ComfyUI 在 Windows 回報 `CUDA out of memory` 時，請先檢查 GPU 記憶體與失敗的工作流程。刪除產生的影像會釋放磁碟空間，但不會增加專用 VRAM。籠統的記憶體不足訊息也可能涉及系統 RAM，因此請保留實際的錯誤文字，不要把所有失敗都當成同一個問題。

## 保留失敗的工作流程並找出階段

儲存工作流程，並記下模型、解析度、批次大小，以及執行停止的節點。利用錯誤報告與終端機記錄，區分載入模型、取樣、解碼影像與執行自訂節點。階段很重要，因為每個階段需要的記憶體量可能不同。

ComfyUI 的[疑難排解指南](https://docs.comfy.org/troubleshooting/overview)建議檢查報告、降低影像尺寸或批次大小，並排除自訂節點的問題。請把這些當成受控的比較。不要同時更新所有節點、更換 Python 並更改模型，因為這樣即使重新執行成功，也無法看出是哪一項變更發揮作用。

## 分開查看 GPU 記憶體與系統記憶體

重現失敗時，開啟 **工作管理員 › 效能**，同時查看 GPU 的專用記憶體與記憶體頁面。在多 GPU 的電腦上，請確認你看的是實際用於該工作流程的 GPU。

| 資源 | 短缺時會改變什麼 |
| --- | --- |
| 專用 GPU 記憶體 | 模型與中間張量是否能放進 GPU |
| 系統 RAM 與認可 | Windows 與 CPU 端工作是否有空間 |
| 磁碟空間 | 模型、輸出與分頁檔是否能成長 |

共用 GPU 記憶體不是顯示卡上額外的實體 VRAM。SSD 上空閒空間很大，不代表大型模型就能放進那張卡。Microsoft 的[工作管理員 GPU 說明](https://devblogs.microsoft.com/directx/gpus-in-the-task-manager/)說明了不同的讀數。

## 將第一個實驗對應到發生失敗的節點

記憶體不足的報告通常比單看紅色節點包含更多有用的資訊。請保留第一個配置錯誤以及引發該錯誤的節點；後續的例外可能只是那第一個失敗所造成的結果。在變更工作流程的圖之前，先儲存一份副本。

| 失敗階段 | 第一個受控比較 | 結果能確立什麼 |
| --- | --- | --- |
| 載入檢查點或文字編碼器 | 一個相容的較小模型，搭配相同的最小任務 | 載入需求是否就是障礙 |
| 取樣 | 批次設為一，接著在另一次執行中降低支援的影像尺寸 | 較小的尺寸下，中間工作量是否放得下 |
| 取樣後的 VAE 解碼 | 相容的分塊 VAE 解碼 | 解碼是否就是發生失敗的峰值 |
| 放大或影片處理 | 一個較小的輸入或較少的影格，若支援的話 | 該階段的輸入大小是否導致失敗 |
| 自訂節點 | 最小支援的內建對應節點 | 失敗是否專屬於該節點路徑 |

這些是實驗，不是保證。較小的檢查點可能改變模型系列、所需節點或輸出品質，因此請使用支援它的工作流程。若第一個錯誤與載入權重有關，降低最終 JPEG 品質並不會改變所需的模型記憶體量。

請簡單記錄模型、隨機種子、解析度、批次、變更的節點與結果。在工作流程支援時保留相同的隨機種子，讓視覺比較更容易，同時要了解變更精度或節點仍可能改變影像。一旦小配置能完成，就一次恢復一項需求，直到限制階段變得清楚。

## 一次降低一項需求

先從批次大小為一與較小的支援解析度開始。如果工作流程因此完成，只增加一個維度並重複。同時把影像寬度與高度加倍會變成四倍的像素，但不代表總 VRAM 恰好是四倍，因為模型與不同節點各有自己的成本。

如果失敗發生在解碼而非取樣，當工作流程支援時，可試試相容的平鋪 VAE 解碼節點。檢查輸出是否有接縫或其他差異。如果單一模型無法載入，只降低輸出尺寸可能無法解決問題。請測試該工作流程與硬體支援的模型或精度。

再次執行前，請儲存並關閉其他大量使用 GPU 的工作。如果工作失敗後記憶體仍被占用，請在儲存工作流程後正常重新啟動 ComfyUI。重新啟動可以釋放被遺棄的工作負載，但不會讓過大的工作流程穩定地放得下。

## 變更 VAE 解碼而不重建整個工作流程

ComfyUI 的 [VAE Decode Tiled 文件](https://docs.comfy.org/built-in-nodes/VAEDecodeTiled) 說明如何以較小的分塊解碼潛在樣本。在相容影像工作流程的已儲存副本中，將相同的潛在樣本與 VAE 連接到分塊解碼節點，再將其影像輸出連接到既有的儲存或預覽節點。保留原始工作流程，讓這項變更可以還原。

請從節點可用的預設值開始，不要從另一個模型複製多個分塊與重疊值。若需要較小的分塊，只變更該值，並同時檢查記憶體用量與產生的影像。較小的分塊可以縮減工作集，但會增加處理負擔；在接受結果之前，請檢查平滑漸層、邊界與細節。

在解碼時分塊並不會減少先前載入模型或執行取樣器所需的記憶體。若執行從未到達解碼階段，請將調查移回失敗階段。影片 VAE 或特殊模型可能需要自己的相容節點，因此不要只因為名稱包含「tiled」就改用影像解碼器。

## 依你的安裝方式使用最佳化路徑

官方指南記錄了手動安裝的 `--lowvram`。若手動安裝是從自己的環境啟動，形式為：

```
python main.py --lowvram
```

這不是可貼進 ComfyUI Desktop、可攜式套件或第三方啟動器的通用指令。請使用該安裝支援的啟動設定，並保留現有引數。把工作移出 GPU 記憶體，可能以速度與系統 RAM 換取較低的 VRAM 需求。

若失敗涉及自訂節點，請與內建工作流程比較，並遵循 ComfyUI 的[自訂節點疑難排解](https://docs.comfy.org/troubleshooting/custom-node-issues)。保留原始工作流程，並記錄停用了哪些節點。缺少自訂節點會改變工作流程，因此請比較你能重現的最小等效任務。

## 比較後還原啟動設定

在嘗試記憶體選項之前，請保留啟動器的副本或其引數的筆記。手動 Python 環境、Windows 可攜式套件與 Desktop 應用程式不一定以相同方式啟動。只透過實際啟動此安裝的機制加入選項；建立第二個 Python 環境可能引入不同的問題。

ComfyUI 的 [啟動旗標參考](https://docs.comfy.org/development/comfyui-server/startup-flags) 說明數個獨立的記憶體與快取控制項。它們不是要一起啟用的開關集合。例如，減少結果快取可以降低保留的記憶體，但會導致更多節點重新執行。CPU 卸載可能需要額外的系統記憶體，並使工作流程變慢。

成功執行之後，請檢查輸出是否完整且可用，然後重複一般任務。若變更只能讓一個小測試通過，但所需的工作流程仍然失敗，請記錄該邊界。從原始啟動器移除沒有幫助的測試引數，並在進行另一次實驗之前回到最後可用的配置。

若系統承諾量是瓶頸，請同時檢查 Windows 記憶體與 GPU 記憶體，並保留可用的分頁檔配置。增加磁碟容量、提高分頁檔上限與降低專用 VRAM 需求是不同的介入方式；不應將任何一項呈現為其他項目的通用解方。

## 把輸出清理當成另一項任務

產生的影像與影片可能佔用相當大的磁碟空間。請依專案檢視，並保留重現有價值結果所需的工作流程與素材。在刪除唯一副本之前，先備份任何你想保留的內容。

如果錯誤是 Windows 認可不足，[Windows 記憶體指南](/tw/windows/blog/windows-high-memory-usage)說明了它與 VRAM 的不同。不要為了讓磁碟看起來更乾淨而刪除分頁檔。回報持續發生的失敗時，請附上確切的錯誤、GPU 與驅動程式、安裝類型，以及最小的失敗工作流程，並移除私密的提示詞與路徑。


Canonical: https://mole.fit/tw/windows/blog/comfyui-out-of-memory-windows
