Skip to content
🚑 排错手册第 4 / 4 节

显存不足与卡顿:OOM 的系统解法 ​

生成到一半弹出 CUDA out of memory,或者进度条卡死、显存被吃满——这就是显存不足,也是 ComfyUI 里最常见的一类问题。先别急着换显卡:按下面顺序排查,大多数 OOM 都能在软件层面解决。第一次排错的话,建议先过一遍排错总览。

症状:先对号入座 ​

CUDA out of memory / torch.OutOfMemoryError ​

先重启 ComfyUI 释放可能泄漏的显存,再用 --lowvram 启动,让文本编码器改在 CPU 上运行、降低显存占用。

进度条卡死、显存占满但迟迟不报错 ​

先用 nvidia-smi 看清是谁在占显存,关掉浏览器、游戏和其他绘图程序,再试一次。

换了更大的模型后必崩 ​

大模型权重直接超出了物理显存,调参数只能缓解,换量化版本或更小的 checkpoint 才是根治办法。

快速检查(60 秒) ​

  1. 用 nvidia-smi 或任务管理器确认:没有浏览器、游戏、其他 AI 程序在抢显存。
  2. 重启 ComfyUI。异常中断后显存经常没被释放,重启是最快的“清零”手段。
  3. 把分辨率和批量(batch size)降到最低,先证明工作流本身能跑通。
  4. 数一数这次生成同时加载几个模型:checkpoint、ControlNet、放大模型、LoRA 都算。

做完还 OOM?进入正式排查。

排查步骤 ​

第 1 步:降低单次生成的显存压力 ​

OOM 多数是“一次要的东西太多”。先把分辨率降一档(如 512×768)、batch size 设为 1,跑通后再逐步加回去,找到你这台机器的临界点。再检查工作流里是否同时挂着多个大模型节点,用不到的先断开——每个驻留显存的模型都在抬高峰值。

第 2 步:用启动参数重新分配显存 ​

ComfyUI 提供一组启动参数控制显存策略,按需组合:

  • --lowvram:低显存模式,让文本编码器改在 CPU 上运行,用速度换显存,最常用。
  • --cpu:把计算放到内存和 CPU 上,极慢但几乎不会 OOM,适合应急验证工作流。
  • --reserve-vram:预留一部分显存给系统或其他程序,避免显卡被榨干后整机卡死。
  • --async-offload:生成过程中异步换入换出模型权重,进一步压低峰值占用(NVIDIA 显卡上默认已开启)。
  • --cache-* 系列:控制模型与节点结果的缓存回收策略,常用取值有 --cache-none(少占内存/显存,但每个节点每次运行都重新执行)、--cache-lru 10(最多缓存 10 份节点结果)、--cache-classic(旧版激进缓存)。

Windows 便携包用户一般在启动脚本里追加这些参数:编辑便携包根目录的 run_nvidia_gpu.bat,在 .\python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build 这一行末尾追加即可。

第 3 步:换更小的模型或量化版本 ​

参数调满还频繁 OOM,说明模型本体对你的显存就是太大。两条路:一是改用 GGUF 量化模型,低显存也能跑大模型,做法见GGUF 量化模型:低显存跑大模型;二是直接换更小的 checkpoint,先用小模型把流程跑顺。

注意区分:如果是模型一加载就报错(而不是生成中途 OOM),那多半不是显存问题,去看上一页模型加载失败。

升级条件:什么时候停止抠参数 ​

满足任意一条,就别在软件层面继续耗了:

  • --lowvram + 最低分辨率 + 量化模型仍然必现 OOM:显存物理上低于模型底线,考虑升级显卡,或接受 --cpu 慢速模式长期出图。
  • 显存没满却持续卡顿:问题可能不在显存,回到排错总览按日志定位。
  • 报错不是 OOM,而是加载或架构类错误:转模型加载失败。
  • 都对不上:带完整控制台日志去 ComfyUI 的 GitHub 仓库搜 "out of memory",大概率有人踩过同一个坑。

相关阅读 ​

搞懂AI关于我们怎么写隐私说明

独立的第三方教程,与文中提到的任何产品及其公司没有隶属或合作关系;产品名称和商标归各自所有者。价格和政策以官方页面为准。