ComfyUIで「CUDA out of memory」と表示されたら、まずどのノードで止まったかを確認します。
モデルを読み込む段階と、画像を生成・拡大する段階では、減らすべき負荷が異なります。
設定をまとめて変更すると原因が分からなくなるため、直前に変えた項目から一つずつ戻しましょう。
この記事では、ローカル環境のComfyUIでGPUメモリが足りない場合の切り分けを説明します。
CUDAは主にNVIDIA GPUで使われる仕組みです。
Macなど別の環境で出るメモリエラーは、同じ文言になるとは限りません。
最初に確認すること
エラー画面のレポートと、ComfyUIを起動したターミナルの末尾を確認します。
「out of memory」の有無、失敗したノード名、使用したモデル、画像サイズ、バッチ数を控えてください。
エラーがCUDAに関係していても、すべてがVRAM不足とは限りません。
ドライバーや対応していない処理の問題を、画像サイズの変更だけで解決しようとしないことが大切です。
| 止まる場面 | 先に確認する項目 |
|---|---|
| モデルの読み込み時 | モデルの規模・対応する形式・別アプリのGPU使用量 |
| サンプリング中 | 幅と高さ・バッチ数・同時に使う追加モデル |
| VAEで画像に戻すとき | 出力解像度・デコード処理の負荷 |
| アップスケール中 | 拡大後の解像度・拡大処理の方式 |
| 動画生成中 | 解像度・フレーム数・ワークフロー固有の推奨条件 |
ComfyUI公式のトラブルシューティングでも、エラーレポートを確認したうえで、画像サイズやバッチ数、GPUメモリの使用状況を調べる手順が案内されています。
1.バッチ数を1にして、解像度を下げる
最初の検証では、一度に生成する枚数を1にします。
「バッチサイズ」と、キューに繰り返し追加する回数は同じ意味ではありません。
ワークフロー内で画像や潜在画像を複数枚まとめて扱う設定を確認してください。
次に、モデルが対応する範囲で幅と高さを小さくします。
幅と高さをそれぞれ半分にすると、画素数は4分の1になります。
ただし、必要なVRAMが必ず4分の1になるわけではありません。
モデル自体を保持するメモリなど、解像度に比例しない部分もあるためです。
小さい画像なら成功する場合は、解像度を段階的に戻します。
複数枚生成、ControlNetなどの追加処理、アップスケールも、一度に全部戻さず個別に追加しましょう。
ステップ数を減らすと処理時間は短くなる場合がありますが、ピーク時のメモリ不足を十分に解消できるとは限りません。
2.基本のワークフローで再現するか試す
複雑な配布ワークフローを使っている場合は、使用モデルに対応する公式テンプレートなど、構成の小さいワークフローで試します。
元のワークフローは別名で保存し、比較できるようにしてください。
- 同じモデルを使える基本構成を用意する。
- バッチ数1、小さめの対応解像度で生成する。
- 成功したら、元の構成にある追加処理を一つずつ戻す。
- 再び失敗した工程と設定値を記録する。
基本構成でもモデルの読み込みに失敗するなら、そのモデルを動かす条件を確認します。
量子化されたモデルや軽量版が用意されていても、読み込み用ノードや対応形式が違うことがあります。
ファイル名だけを見て置き換えず、モデル配布元とワークフローの説明に従ってください。
3.ほかのGPU使用アプリを閉じる
画像編集ソフト、3Dソフト、別の画像生成環境、ゲームなどがGPUメモリを使っていないか確認します。
WindowsならタスクマネージャーのGPU情報などで、専用GPUメモリの使用量を確認できます。
共有GPUメモリの表示を、そのまま高速に使えるVRAMの容量と考えないようにしましょう。
必要な作業を保存したうえで、不要なアプリや別のComfyUIプロセスを終了します。
ComfyUIを再起動してから同じ条件で試し、起動直後は成功するのか、繰り返すと失敗するのかも確認してください。
再起動で一時的に直っても、処理に必要なメモリの量そのものが減ったわけではありません。
4.手動起動の環境ではlowvram設定を検討する
手動でPythonから起動する環境では、公式に低VRAM向けの起動オプションが用意されています。
普段ComfyUIを起動しているPython環境とフォルダーで使用します。
python main.py --lowvram
この設定はメモリの使い方を調整するもので、GPUの物理メモリを増やすものではありません。
処理速度が低下する場合があり、どのモデルでも動くことを保証する設定ではありません。
Desktop版、ポータブル版、外部ランチャーでは起動方法が異なります。
上のコマンドを別のPython環境で実行せず、使っている配布形式の設定方法を確認してください。
複数の起動オプションを一度に追加せず、変更前の状態へ戻せるように記録します。
解決を確認するチェックリスト
- 以前失敗したノードを通過し、画像の保存まで完了する。
- 同じ条件で再実行しても、メモリエラーが出ない。
- 必要な画像サイズと枚数で動作する設定を記録した。
- 追加モデルや拡大処理を戻した後も確認した。
「VRAMが何GBあれば十分か」は、モデル、精度、解像度、同時に使う処理によって変わります。
購入や増設を考える前に、実際に使いたいワークフローの必要条件と、どの工程で足りなくなるかを確認すると判断しやすくなります。
