どんな問題が発生したか
ComfyUIで画像生成を行っている際に、唐々に「Out of Memory Error」や「torch.OutOfMemoryError」といったエラーが発生し、生成が中断される問題があります。VRAM(Graphics Processing Unitの動画RAM)が不足することで発生するこのエラーは、特に高解像度画像や大容量モデルを使用する際に頻繁に起こります。エラーが発生すると、コンソールには「OutOfMemoryError: CUDA out of memory」や「Attempted to allocate X GB. GPU has Y GB」といったメッセージが表示されます。
結論
VRAM Out of Memoryエラーは、不要データのクリア、VRAM予約量の調整、不要なアプリケーションの закрытия、そして適切なノードの使用ことで解決できます。以下に具体的な手順を解説します。
具体的な手順
手順1:不要アプリケーションの закрытия
まず、GPUを使用している他のアプリケーションをすべて閉じます。ブラウザ、ゲーム、其它AIツールなどがVRAMを使用している可能性があります。
手順2:LatentGarbageCollectorノードの使用
ComfyUI Managerから「LatentGarbageCollector」ノードをインストールします。このノードをワークフローに組み込むことで、潜像データをVRAMからフラッシュし、メモリを解放できます。
# ワークフローへの組み込み方法
1. ComfyUI Managerを開く
2. "Install Missing Nodes"をクリック
3. "LatentGarbageCollector"を検索してインストール
4. 潜像(Latent)出力をこのノードに接続
手順3:VRAM予約量の調整
起動オプションでVRAM予約量を増やします。コマンドラインから以下のように実行します:
# Windowsの場合
"C:pathtopython.exe" "C:pathtocomfyuimain.py" --reserve-vram 1.0
# Linuxの場合
python main.py --reserve-vram 1.0
デフォルトはWindows0.6GB、Linuxで0.4GBです。1.0以上に設定することで、より多くのVRAMを予約できます。
手順4:VRAM Debugノードで状態を確認
VRAMの使用状況を正確に把握するために、「VRAM Debug」ノードをインストールします。このノードはGPUメモリの現在の状態を表示します。
# インストール方法
1. ComfyUI Managerを開く
2. "Install Missing Nodes"をクリック
3. "VRAM Debug"(またはKJNodes)を検索してインストール
手順5:モデルの確認と最適化
モデルファイルが正しく配置されているか確認します。-modelsフォルダに移動されていないモデルは読み込めません。
# 確認すべきポイント
- モデルファイルがComfyUI/modelsディレクトリにあるか
- モデルファイルが破損していないか
- 必要なモデルだけを残して、不要なモデルは移動させる
手順6:カスタムノードの競合を確認
最近インストールしたカスタムノードが問題を起こしている可能性があります。カスタムノードを無効化してみます。
# カスタムノードの無効化方法
1. ComfyUIの"custom_nodes"フォルダを開く
2. 問題のあるノードのフォルダ名を変更(例:"node_name" → "node_name_disabled")
3. ComfyUIを再起動
補足・注意点
- VRAM表示のバグについて:稀にVRAMの表示が異常な値(例:95TBなど)になるバグが確認されています。その場合でも実際のVRAM不足であれば、上記の対応有効です。
- バージョン依存:ComfyUIのバージョンによっては、VRAM管理の改善が異なります。最新版にアップデートすることをお勧めします。
- 環境差異:WindowsとLinuxではデフォルトのVRAM予約量が異なります。Linuxではより少ないVRAMで動作する傾向があります。
- 虚假のOut of Memoryエラー:Hunyuanなど特定のモデルでは、VRAMが実際には余裕があっても虚假のエラーが出ることがあります。その場合もVRAM予約量の増加が有効です。
- GPU-driverの更新:最新のGPU Driverがインストールされていることを確認してください古いDriverしているとVRAM管理に問題が生じることがあります。
参考元
- How to Troubleshoot and Solve ComfyUI Issues – ComfyUI
- Reddit: Dealing with “Out of memory error”
- ComfyUI Node: VRAM Debug
- Reddit: Workaround for false Hunyuan “out of memory” error
- ComfyUI Memory Calculation Bug with Patch – GitHub