在 ComfyUI 里遇到“显存不足(CUDA out of memory)”是很常见的问题,可以从设置、模型、工作流、硬件几个层面来解决。
一、最常用、最有效的设置(优先试)
1. 开启显存优化选项
在 ComfyUI 启动参数或设置中:
中等显存优化(6–8G 显卡推荐)
低显存优化(4G 及以下)
- ✅
--disable-smart-memory(某些情况反而更稳)
启动示例:
python main.py --lowvram
2. 使用 xFormers(强烈推荐)
在启动参数加:
--xformers
或确保已安装:
pip install xformers
✅ 能显著降低显存占用
3. 使用 FP16 / FP8 模型
- 优先用:
sd_xl_base_1.0_fp16.safetensorsfp8 版本(40系显卡最佳)- 避免:
fp32 大模型
二、工作流层面的优化
4. 降低分辨率
- 文生图:
- 1024×1024 → 768×768
- 图生图:
- 先小图生成,再放大(Hires fix / Upscale)
5. 减少 Batch Size
6. 使用轻量模型
- SD1.5(2–4G)比 SDXL 省显存
- 控制类模型(ControlNet)只加载需要的
7. 避免在显存里堆叠节点
- 不要同时加载:
- 多个大模型
- 多个 LoRA
- 多个 ControlNet
用完就卸载(ComfyUI 有自动释放)
三、进阶方案
8. 使用 --cpu(极端情况)
--cpu
⚠️ 很慢,但绝对不爆显存
9. 升级 / 清理环境
- 关闭其他占显存程序(浏览器、OBS)
- 更新显卡驱动
- 用干净 Python 环境
四、不同显卡建议配置
| 显存 | 建议 |
|---|
| 4G | --lowvram + SD1.5 |
| 6G | --medvram + SDXL fp16 |
| 8G | SDXL fp16 / fp8 |
| 12G+ | 基本无压力 |
五、如果还不行
可以把以下信息发我,我帮你精确定位:
- 显卡型号 + 显存
- 用的模型(SD1.5 / SDXL / Flux)
- 分辨率
- 报错截图或完整报错
我可以帮你 改启动参数 / 优化工作流 / 配最低显存方案。