ComfyUI模型缓存机制如何设置

AI技术
小华
2026-10-23

ComfyUI 的模型缓存机制主要涉及模型加载方式、缓存大小、显存/内存管理,可以通过配置文件、启动参数、节点设置三种方式来调整。下面按实际使用场景说明。

一、ComfyUI 默认的模型缓存机制

ComfyUI 默认会:

  • 将模型(Checkpoint / LoRA / VAE / ControlNet 等)加载到 显存(VRAM)
  • 如果显存不足,会自动卸载到内存(RAM)
  • 同一模型在多次生成时不会重复加载
  • 不同节点引用同一模型时共享缓存

缓存位置:

  • 模型文件本身:

ComfyUI/models/

  • 运行时缓存(如 VAE 解码后的 latent 等):

内存 / 显存中(非磁盘持久化)

二、通过启动参数设置缓存行为(最常用)

在启动 ComfyUI 时,可以使用以下参数控制缓存和显存策略。

1️⃣ 限制模型缓存数量(防止显存爆)

--cache models

或限制数量:

--cache-lru 3
只保留最近使用的 3 个模型,其余自动卸载

2️⃣ 禁用自动卸载(高性能机器)

--disable-smart-memory

适合:

  • 显存 ≥ 24GB
  • 不想频繁加载/卸载模型

3️⃣ 强制使用 CPU 内存缓存

--cpu

所有模型先在 RAM 中加载,再按需进显存(慢但稳)

4️⃣ 低显存模式

--lowvram
--medvram
  • --lowvram:最小显存占用
  • --medvram:折中方案

三、通过 extra_model_paths.yaml(模型路径缓存)

如果你有多个模型目录,可以配置:

comfyui:
base_path: /your/model/path
checkpoints: models/checkpoints
loras: models/loras
vae: models/vae

这样 ComfyUI 会统一索引模型,避免重复拷贝

四、节点层面的缓存控制(工作流内)

1️⃣ Load Checkpoint 节点

  • 相同模型只加载一次
  • 切换模型才会触发卸载

2️⃣ KSampler 节点

  • latent 缓存仅在当前 workflow 内
  • 不会写磁盘

3️⃣ 使用“模型合并 / 卸载”节点(高级)

如:

  • Free VRAM
  • Unload All Models

适合:

  • 长流程
  • 多模型切换

五、磁盘缓存(可选)

ComfyUI 默认不缓存生成结果,但你可以:

  • 用 Save Image 节点
  • 或用插件(如:
  • ComfyUI-Manager
  • ComfyUI-CacheNodes)

六、推荐配置示例

✅ 24G 显卡(如 3090)

python main.py --cache-lru 5

✅ 12G 显卡(如 3060)

python main.py --medvram --cache-lru 2

✅ 8G 显卡

python main.py --lowvram

七、常见问题

Q:模型频繁 reload?
→ 调大 --cache-lru
Q:显存爆?
→ 加 --lowvram 或手动 Free VRAM
Q:速度慢?

→ 关闭 --cpu,用 --disable-smart-memory

如果你愿意,可以告诉我:

  • 显卡型号
  • 是否用 SD1.5 / SDXL / Flux
  • 是否多模型切换

我可以给你一套最佳缓存参数配置。

亿速云提供售前/售后服务

售前业务咨询

售后技术保障

400-100-2938

7*24小时售后电话

官方微信小程序