ComfyUI 显存不足怎么办?4 个降显存做法按顺序试
看到 torch.cuda.OutOfMemoryError: CUDA out of memory,第一反应往往是“我的卡是不是太差”。多数情况下并非如此:报错说明这次任务需要的显存,超过了你显卡能提供的量。处理顺序很关键——先算清需要多少,再决定省哪一块,反过来做容易白折腾。
ComfyUI 显存不足,先算一笔账
一次出图占用的显存由三部分组成:
- 模型权重:主模型、文本编码器、VAE,各自多大,加起来就是多少。
- 中间激活:出图过程中产生的中间张量,与分辨率和批量大小挂钩。
- 运行时开销:CUDA 上下文、计算库工作区、显存碎片。这部分最容易被忽略,不写在任何模型文件上,但实打实占 1GB 上下。
按模型看,大致是这个量级:
| 模型 | FP16 权重 | 建议显存 |
|---|---|---|
| SD 1.5 | 约 2GB | 4GB |
| SDXL | 约 7GB | 8GB |
| Flux Dev | 约 24GB | 24GB,但要开 FP8 或卸载 |
| 视频模型 | 20GB 起 | 必须配卸载 |
想验证这笔账,出图时开着 nvidia-smi,看显存曲线爬到哪停住,那个峰值就是你的真实需求。文中数值是常见配置下的估算,不同模型版本、参数与驱动会有差异,具体以实际环境为准(发布前需核验)。
4 个降低 ComfyUI 显存占用的做法
做法一:先降量化档位
想让显存立刻降下来,最快的是换量化版本。同一个模型权重占多大,取决于每个参数用几个字节存:
| 档位 | 每参数字节 | 相对 FP16 | 画质 |
|---|---|---|---|
| FP16 | 2 | 100% | 基准 |
| FP8 | 1 | 约 50% | 基本看不出 |
| Q4 / NF4 | 约 0.55 | 约 28% | 可接受 |
从 FP16 换到 FP8,权重直接砍一半,画质损失通常看不出来,这一步性价比最高。
但量化不解决所有问题。视频模型的权重本身很大:有实例把主权重压到 INT8 后还有 19.5GB,在 24GB 卡上跑时,权重、文本编码器、VAE 一起进显存几乎贴着上限,留给中间激活的空间已经不多。所以量化只是第一步。
做法二:降分辨率与时长
量化后仍不够,就要降需求。中间激活与分辨率不是线性关系:分辨率翻一倍,潜空间张量规模变成 4 倍,加上注意力部分的额外放大,显存涨得比直觉快。视频模型还要再乘一个维度——帧数,帧越多需要同时保留的内容越多,占用基本按线性上升。
第一次跑新模型,别上来就冲高分辨率和长时长:
- 先用低档跑通,确认流程没问题;
- 视频模型先按 480p、5 秒跑通一条,确认整条链路正常;
- 再逐步往上抬分辨率和时长。
直接按最终目标跑,报错后往往分不清是模型问题还是参数问题,容易白折腾。
做法三:把层卸载到内存
前两个做法是降需求,这一条是改策略:把暂时用不到的层放到系统内存,要用再搬回显存。ComfyUI 启动时加参数即可:
python main.py --lowvram
| 显存 | 建议参数 |
|---|---|
| 4–6GB | --lowvram 加 --cpu-vae |
| 8GB | --lowvram |
| 12GB | --medvram |
| 24GB 以上 | 一般不加;跑视频模型时加 --lowvram |
代价是速度。--lowvram 每次出图都要重新搬一遍模型,比常驻显存慢一截;显存越紧、搬得越频繁,掉速越明显。这是拿时间换空间。
做法四:清掉看不见的占用
还有一种情况很费解:任务已经停了,nvidia-smi 一看显存还是满的。这通常不是错觉,而是上一次任务的进程没退干净。此时重启 ComfyUI 没用,因为占着显存的是另一个进程。用两条命令查和清:
nvidia-smi—— 查看占用显存的进程号taskkill /F /PID <进程号>—— 强制结束该进程
另外两个容易漏的点:界面上的实时预览会一直占用一部分显存,跑大任务时建议关掉;批量任务不要攒到最后一起清缓存,每张跑完清一次更稳。
3 个看着有用、其实没用的做法
- 加内存条:系统内存和显存是两回事。加内存能让卸载模式更从容,但不会凭空多出一块显存。
- 只调批量大小:改成 1 确实能省一点,但中间激活只是三部分里的一部分,省下的量有限。
- 直接换个更大的模型:新模型权重往往更大,情况只会更糟。
这三个思路本身不算错,是顺序不对。先把账算清楚,再决定动哪一块。
推荐的排查顺序
模型报显存不足,是账算不过来,不是卡不行。按下面的顺序往下试,基本能覆盖大部分情况:
- 量化:换 FP8 或更低档位权重;
- 降需求:下调分辨率、帧数与批量;
- 改策略:加
--lowvram/--medvram卸载到内存; - 清占用:结束残留进程,关掉实时预览。
顺序反了,就只能靠运气。
网盘资源下载
以下资料与本文标签匹配,已整理在网盘,按需自取。
展开全部 2 个资源
b4jh网盘链接可能失效或变更,若无法打开请在评论区留言。