ComfyUI Out of Memory: 修复 CUDA OOM、Python MemoryError 和 VRAM 峰值
在改工作流之前,先把 CUDA 显存、Python 内存、Apple MPS 和 PyTorch 分配器问题分开,诊断 ComfyUI 的 out-of-memory 失败。
如果 ComfyUI 因为 out of memory 失败,先不要从重装包开始。第一步应该是确认:到底是哪一类内存池被打满了。
ComfyUI 可能耗尽的是:
- GPU 显存(
CUDA out of memory、torch.cuda.OutOfMemoryError) - 系统内存(
MemoryError、DefaultCPUAllocator: not enough memory) - Apple 统一内存(
MPS backend out of memory) - 明明监控上看起来还有空闲,但因为分配器碎片或连续块不足,依然分不到足够内存
不同池子,修法完全不同。
快速诊断
| 错误文本或症状 | 最可能耗尽的池子 | 第一检查项 | 第一安全修法 |
|---|---|---|---|
CUDA out of memory | NVIDIA 显存 | 工作流运行时看 nvidia-smi | 降分辨率、batch、帧数,或加 --lowvram |
MemoryError | 系统内存 | 任务管理器内存占用和页面文件压力 | 关掉吃内存应用、拆工作流、加页面文件 |
DefaultCPUAllocator: not enough memory | 系统内存 / CPU 分配器 | 看崩溃前 RAM 是否一路上涨 | 减少并行分支,避免超大图像 / 视频张量 |
MPS backend out of memory | Apple 统一内存 | 活动监视器内存压力 | 用更小模型 / 分辨率,或缩短视频片段 |
| 明明还有“空闲”显存却仍然 OOM | PyTorch 已保留 / 已碎片化内存,或别的进程占用 | 对比 nvidia-smi 和 PyTorch memory summary | 重启 ComfyUI、降低峰值分配、给系统留更多余量 |
来自真实 ComfyUI 问题的数据证据
这篇页面被优先写出来,不是因为它理论上可能发生,而是因为内存失败本来就是一个真实的支持高频。
在 2026 年 3 月 19 日 收集的本地 ComfyUI GitHub Issues 数据集中,OutOfMemoryError | out of memory 这个簇共有 203 个 issue,其中 99 个仍然是 open,最近一次出现日期也是 2026-03-19。同一份数据里,还能看到 allocation would exceed allowed memory、cuda out of memory 和 MPS backend out of memory 等相关簇。
我们的本地遥测 join 里,CUDA out of memory 和 Python MemoryError 也排进了最强的一批服务机会。把这些信号当成需求证据,然后再用下面的检查把修法分对。
第 1 步:先看 GPU 显存
在 Windows 上,ComfyUI 运行时打开命令行:
nvidia-smi重点看:
- 有没有别的 AI 应用也在吃显存
- 浏览器或游戏进程是不是也占着 GPU 内存
- ComfyUI 是否在失败前就把显存几乎吃满
- 有没有第二个 ComfyUI 实例还在后台跑
如果你有多张 NVIDIA 显卡,先确认 ComfyUI 用的是你真正想用的那张。换卡之前先看 ComfyUI Multi GPU。
第 2 步:检查当前启动 ComfyUI 的 Python 环境
在 真正启动 ComfyUI 的那个 Python 环境 里执行:
python -c "import torch; print('cuda', torch.cuda.is_available()); print(torch.cuda.mem_get_info() if torch.cuda.is_available() else 'no cuda')"如果 CUDA 可用,这条会打印出 PyTorch 视角下的空闲和总显存。想看得更细一点,可以继续:
python -c "import torch; print(torch.cuda.memory_summary() if torch.cuda.is_available() else 'no cuda')"如果你用的是 Windows 便携包,就要用 embedded Python:
.\python_embeded\python.exe -s -c "import torch; print('cuda', torch.cuda.is_available()); print(torch.cuda.mem_get_info() if torch.cuda.is_available() else 'no cuda')"如果 CUDA 根本不可用,那这不是 OOM 问题,先看 Torch Not Compiled With CUDA Enabled。
第 3 步:降低峰值分配
大多数 ComfyUI OOM,不是一路慢慢耗尽,而是在某个峰值瞬间爆掉:模型加载、VAE decode、upscale、视频采样,或者某个 custom node 一口气造了一个超大 tensor。
按这个顺序试:
- 降低输出分辨率
- 把 batch size 设成
1 - 视频场景先减帧数,再减其他质量设置
- 换更小的 checkpoint,或者用量化 / GGUF 模型
- 两条大分支如果能拆阶段,就别强行塞在同一张图里一起跑
- 先保存中间图片或 latent,再在第二个工作流里继续
如果你跑的是 Flux、Wan、HunyuanVideo、LTX 这类大模型,光模型选择本身就可能超出硬件上限。别在这里乱装包,先看 GPU Compatibility 和 Model Types Explained。
第 4 步:谨慎使用启动参数
手动安装:
python main.py --lowvramWindows 便携包,就在 .bat 文件里把参数加到 main.py 后面:
.\python_embeded\python.exe -s ComfyUI\main.py --lowvram如果操作系统或其他应用也需要更多显存余量,可以预留:
python main.py --lowvram --reserve-vram 1.0常用参数:
| 参数 | 什么时候试 | 代价 |
|---|---|---|
--lowvram | 显存有限或反复 CUDA OOM | 生成会变慢 |
--novram | --lowvram 还是扛不住 | 会明显更慢 |
--reserve-vram 1.0 | 系统 / 浏览器 / 驱动也需要显存余量 | ComfyUI 可用显存更少 |
--cpu-vae | VAE decode 时 OOM | decode 更慢,而且更吃系统 RAM |
--cache-none | 节点缓存导致 RAM / VRAM 越跑越高 | 会增加重复计算 |
不要一口气把所有内存相关参数都开上。一次只改一项,重启 ComfyUI,用同一个工作流回测。
第 5 步:把显存问题和系统内存问题分开
CUDA out of memory 通常说的是 GPU 显存。MemoryError 和 DefaultCPUAllocator 通常说的是系统 RAM。
如果是系统内存压力:
- 关掉浏览器、视频编辑器、游戏和其他 AI 工具
- 如果机器一直在换页,就增大 Windows 页面文件
- 不要在一个工作流里同时加载好几个大模型
- 长视频工作流尽量拆成短片段
- 除非模型真的需要,不要塞超大输入图
如果某个 custom node 装完之后 RAM 才一路涨,先禁掉那个节点再回测。对应看 Installed Custom Nodes and Broke ComfyUI。
不要这样做
- 不要因为报的是 OOM,就直接重装 PyTorch。
- 不要以为
torch.cuda.empty_cache()能修复一个本质上需要更高峰值内存的工作流。 - 不要在低显存机器上开
--highvram;它会把模型常驻在 GPU 内存里。 - 不要在基础工作流都还没跑通时,就去装各种“显存优化” custom node。
- 不要在紧急 OOM 排障里顺手更新全部 custom node。
如果是更新之后才开始 OOM
如果同一个工作流昨天还能跑,今天更新后开始 OOM:
- 先保存当前工作流 JSON
- 确认是 ComfyUI、本体前端,还是 custom node 发生了变化
- 尽可能用“禁用 custom node”的方式回测同一个工作流
- 可以临时用更小模型 / 更低分辨率来确认失败类型,但别把它当最终修法
- 如果生产工作被卡住,就在单独目录里恢复备份或回退版本
在回滚唯一可用环境之前,先看 ComfyUI Won't Update or Need to Downgrade。
Wonderful Launcher 在这里能帮什么
一旦用户记不清到底是哪一个工作流、哪一个模型、哪一个 custom node、哪一个 ComfyUI 版本把内存峰值打爆,out-of-memory 就会迅速变得很贵。
Wonderful Launcher 的价值在于:它能把环境隔离开,保住启动路径,也让你在崩溃后更容易回看日志。如果机器已经陷入反复 OOM、依赖漂移或更新失败,expert help 往往比你自己试半天随机参数更快。
相关指南
- ComfyUI GPU Compatibility
- ComfyUI Multi GPU
- Torch Not Compiled With CUDA Enabled
- ComfyUI 依赖冲突
- ComfyUI Won't Update or Need to Downgrade
资料来源
如果这个问题已经碰到你真实在用的 ComfyUI 环境,先用 Wonderful Launcher 接管和检查当前机器,再配合文档决定怎么修。
下载 Wonderful LauncherDid this fix your issue?
Your answer helps prioritize verified ComfyUI repairs.