ComfyUI FLUX 显存占用不释放怎么办?重启、清缓存、关闭后台程序排查记录
先说结论
跑完 FLUX 之后任务管理器里专用 GPU 内存还很高,不一定是程序坏了。ComfyUI 可能会把模型留在显存或缓存里,方便下一次生成。PyTorch 后端也可能保留显存池不马上归还。
但如果关闭浏览器、关闭 ComfyUI 网页后显存还异常高,或者第二次出图突然 OOM,那就需要排查了。
这篇文章整理我在 RTX 4060 Laptop 8GB + FLUX GGUF Q6_K + T5 FP8 环境下的实际排查记录——什么时候可以不管,什么时候该关什么、重启什么。
这篇文章适合谁
- 跑完 FLUX 后显存还很高,心里不踏实
- 任务管理器 GPU 使用率 0%,但专用显存没降
- 第二次出图突然 OOM,第一次明明能跑
- 不知道该重启 ComfyUI 还是重启电脑
- RTX 4060 Laptop 8GB 跑 FLUX GGUF 的用户
我的测试环境
| 项目 | 参数 |
|---|---|
| GPU | NVIDIA GeForce RTX 4060 Laptop GPU |
| 专用显存 | 8GB |
| 系统内存 | 32GB |
| 系统 | Windows 11 |
| ComfyUI | 0.24.0 |
| 方案 | FLUX GGUF Q6_K + T5 FP8 |
| UNet | flux1-dev-Q6_K.gguf |
| Text Encoder | t5xxl_fp8_e4m3fn_scaled.safetensors + clip_l.safetensors |
| VAE | ae.safetensors |
为什么出图后显存还占着
这不是一个 bug,至少有这几个原因:
- 模型驻留:ComfyUI 为了方便下一次生成,不会每次生成完就卸载模型。GGUF 加载后可能一直在显存里。
- PyTorch 显存池:PyTorch 后端可能预先分配一块显存区域,用完后不一定会马上归还给系统。
- 浏览器渲染:Chrome / Edge 打开 ComfyUI 页面时,硬件加速会占一部分显存。
- 其他 GPU 程序:Discord、Steam、录屏、动态壁纸都在后台默默占用。
- 缓存和队列状态:ComfyUI 内部可能有未释放的缓存、队列结果。
所以出图结束后,任务管理器里专用 GPU 内存使用量仍然显示 6~7GB 是常见的,不一定是泄漏。
GPU 使用率 0% 不代表显存释放
这个容易搞混,单独再说一遍:
- GPU 使用率:当前计算核心的忙碌程度。出图结束后降到 0% 是正常的。
- 专用 GPU 内存使用量:显存里还占着多少数据。模型没卸载的情况下,这个数字不会降到 0。
如果还不清楚这两个的区别,可以先看这篇:ComfyUI FLUX 8GB 显存占用怎么看?任务管理器、专用 GPU 内存、共享 GPU 内存区别。
什么时候不用管
下面这些情况不需要特别处理:
- 刚跑完一张图,显存高但下一张能正常出
- 专用 GPU 内存使用量在 6~7GB,但没报 OOM
- ComfyUI 控制台没有 CUDA out of memory 之类的错误
- 这只是模型热驻留,等待下一次 Queue Prompt
- 关闭 ComfyUI 网页后显存降了一些,说明浏览器占了一部分
什么时候需要处理
如果出现以下情况,就该动手排查了:
- 第一次能出图,第二次、第三次频繁 OOM
- 把分辨率从 1024 降到 768 仍然 OOM
- 关闭浏览器后,专用 GPU 内存使用量还是异常高
- ComfyUI 控制台反复报错,不只是单次 OOM
- 任务管理器显示有其他程序占用了大量专用显存(比如 2GB+)
- 长时间运行后,每次生成都越来越慢,且显存占用比刚启动时明显更高
优先排查顺序
这是我在这台机器上总结的顺序,从轻到重:
- 看任务管理器,切到「性能」>「GPU」,看专用 GPU 内存使用量
- 关闭浏览器多余标签页,尤其是带视频、带复杂页面的
- 关闭录屏、游戏、Discord、Steam、其他 AI 程序(Ollama、SD WebUI 等)
- 确认 batch_size = 1,不要用 2
- 降到 768×768 测试,看是不是分辨率压力问题
- 停止当前 ComfyUI 队列,等所有任务完成或手动取消
- 关闭 ComfyUI 网页(浏览器页签),释放浏览器端显存占用
- 关闭启动 ComfyUI 的终端 / Python 进程,这会真正释放 ComfyUI 占用的模型显存
- 重新启动 ComfyUI,重新加载工作流
- 以上都不行,再重启电脑,清空所有 GPU 状态
关闭网页和关闭 ComfyUI 不是一回事
很多人以为关掉浏览器里的 ComfyUI 页面就等于关了 ComfyUI——不是的。
- 关闭网页:只是关掉前端界面。浏览器释放一部分显存,但后台 Python 进程还在,模型还在显存里。
- 关闭终端 / Python 进程:真正停止 ComfyUI 后台。模型从显存卸载,显存才可能大幅释放。
所以如果你只是想释放模型显存,只关网页不够,要关掉启动 ComfyUI 的那个终端窗口。
重启 ComfyUI 什么时候有用
下面这些情况重启 ComfyUI 通常有效:
- 换了模型文件目录,节点下拉框没刷新
- 安装了新的 custom node 后没生效
- 长时间运行后显存状态看起来混乱(比如之前能跑 1024 突然跑不了)
- 多次 OOM 后 ComfyUI 似乎卡在某种异常状态
- 想对比冷启动和热状态的显存占用
重启 ComfyUI 的代价是:模型需要重新加载,第一次出图会变慢(冷启动)。参考:ComfyUI FLUX 第一次出图很慢怎么办?冷启动、模型加载、缓存占用解释。
重启电脑什么时候才需要
一般不需要一出问题就重启电脑。只有下面这些情况我才建议重启:
- Python 进程关闭后,任务管理器里专用 GPU 内存使用量还是异常高
- 驱动状态看起来有问题(比如 nvidia-smi 报异常)
- 系统明显卡顿,不只是 ComfyUI 慢
- 其他 GPU 程序也关不掉或异常占用
日常排查到第 8 步(关闭终端重启 ComfyUI)基本就够了。不要每次 OOM 都重启电脑。
和 OOM 的关系
显存占用高和 OOM 不等于一回事:
- 显存占用高:当前显存里有数据,但未必满了
- OOM:当前任务需要的显存超过了可用空间
在 8GB 机器上,你看到专用显存 7.5GB 但还能出图,说明还在安全线内。如果每次 Queue Prompt 都撞 8GB 上限然后报 CUDA out of memory,那就是真的不够了。
排查方向应该先看:ComfyUI FLUX 8GB 显存不够怎么办?OOM、加载慢、爆显存排查记录。
常见误区
-
「GPU 0% 就代表显存释放了」 使用率只看计算核心,显存占用要看专用 GPU 内存使用量。
-
「关闭网页就等于关闭 ComfyUI」 网页只是前端,后台 Python 进程才是占用显存的主体。
-
「每次跑完图都必须重启电脑」 大多数情况关闭终端重启 ComfyUI 就够了。频繁重启反而带来冷启动耗时。
-
「降低 steps 就能释放显存」 steps 主要影响计算时间,对显存占用的影响不是决定性的。真正省显存看分辨率、batch、模型方案、后台程序。
-
「OOM 后再点一次 Queue Prompt 就好了」 如果显存已经被占满且没有释放,再点一次大概率还是 OOM。需要先释放一些显存。
-
「显存高一定是内存泄漏」 不一定是。PyTorch 的显存池机制、模型驻留策略、系统缓存都可能让显存看起来”没降”,实际是正常行为。
FAQ
出图后显存不降正常吗?
在本站 RTX 4060 Laptop 8GB 的环境下,出图后专用 GPU 内存使用量保持在 6~7GB 是常见的,不一定是问题。只要下一张还能正常出图就没关系。
怎么彻底释放 ComfyUI 占用的显存?
关闭启动 ComfyUI 的终端窗口或 Python 进程。只关浏览器页面是不够的。
关闭浏览器有用吗?
有用。Chrome / Edge 的硬件加速可能占用 200~800MB 专用显存。8GB 的机器上,这几百 MB 可能就是 OOM 和安全出图的差距。
为什么重启后第一次又变慢?
因为模型需要重新从硬盘加载。这是冷启动的正常现象,不是显存问题。参考冷启动文章。
OOM 后要不要马上重启电脑?
不一定要。先关浏览器、检查 batch_size、降分辨率试一次。如果还 OOM,关闭 ComfyUI 终端再重新启动。还不行再重启电脑。
怎么判断是 ComfyUI 占用还是其他程序占用?
打开任务管理器 > 性能 > GPU,看「专用 GPU 内存使用量」。然后关闭 ComfyUI 终端,再看数值变化。如果降了很多(比如从 7GB 降到 2GB),说明主要是 ComfyUI 占用。如果关闭后还是很高,说明有其他程序在占显存。
后续待测
- 连续出图 10 次,记录每次显存占用变化曲线
- 关闭浏览器前后,同一 prompt 的显存占用差值
- 重启 ComfyUI 前后的冷启动耗时对比
- 不同分辨率(768、896、1024)下的显存残留情况
- 不同 GGUF 量化等级的显存驻留行为