Extensions/Comfyui_BatchClear_DocKr
ComfyUI Extension

Comfyui_BatchClear_DocKr

ComfyUI memory cleanup nodes for VRAM and RAM management.

By DocWorkBox·Created 5 months ago·Updated 5 months ago· 20
DocWorkBox/Comfyui_BatchClear_DocKr
Nodes2
On cloudLocal install
CategoryMemory Management
Stars20
Updated5 months ago
Readme

Comfyui_BatchClear_DocKr

Comfyui_BatchClear_DocKr 是一组用于 ComfyUI 的内存清理节点,适合跑批、长流程、多模型切换这类容易持续占用资源的场景。

插件包含两个节点:

  • DocKr / VRAM-Cleanup
  • DocKr / RAM-Cleanup

其中:

  • VRAM-Cleanup 用于清理显存占用
  • RAM-Cleanup 用于清理系统内存占用

安装

方式一:通过 ComfyUI Manager 安装

打开 ComfyUI Manager,搜索:

Comfyui_BatchClear_DocKr

找到后直接安装,然后重启 ComfyUI。

方式二:通过 git clone 安装

进入 ComfyUI 的 custom_nodes 目录后执行:

git clone https://github.com/DocWorkBox/Comfyui_BatchClear_DocKr.git

目录结构如下:

ComfyUI/custom_nodes/Comfyui_BatchClear_DocKr

如需安装依赖,执行:

pip install -r requirements.txt

完成后重启 ComfyUI。

节点位置

在 ComfyUI 中搜索以下节点名称:

  • DocKr / VRAM-Cleanup
  • DocKr / RAM-Cleanup

分类路径:

Memory Management

快速使用

最简单的用法是将节点接在流程末尾,在一次执行完成后做一次清理。

上游节点 -> DocKr / VRAM-Cleanup

或者:

上游节点 -> DocKr / RAM-Cleanup

如果希望同时清理显存和内存,可以串联使用:

上游节点 -> DocKr / VRAM-Cleanup -> DocKr / RAM-Cleanup

通常建议先清理显存,再清理内存。

主要参数

这两个节点最常用的参数只有几个,理解它们之后基本就够用了。

batch_index

表示当前是第几次执行。

如果你的工作流里有循环次数、批次编号或计数器,可以把那个值接到这里。

batch_clear

表示每隔几次执行一次清理。

例如:

  • 1 表示每次都清理
  • 5 表示每 5 次清理一次
  • 10 表示每 10 次清理一次

bypass_all

用于临时跳过清理。

critical_threshold_mb

表示最低安全阈值。低于这个值时,节点会优先执行清理。

推荐设置

常规使用

适合大部分普通工作流。

DocKr / VRAM-Cleanup

  • batch_clear = 10
  • offload_model = False
  • offload_cache = True

DocKr / RAM-Cleanup

  • batch_clear = 10
  • clean_file_cache = True
  • clean_processes = False
  • clean_dlls = False
  • retry_times = 1

资源较紧张时

适合显存或内存本来就比较吃紧的机器。

DocKr / VRAM-Cleanup

  • batch_clear = 3
  • offload_model = True
  • offload_cache = True

DocKr / RAM-Cleanup

  • batch_clear = 3
  • clean_file_cache = True
  • clean_processes = True
  • clean_dlls = True
  • retry_times = 3

每次执行后都清理

如果你只想要最直接的效果:

  • 将节点接在流程最后
  • batch_clear 设为 1

这样每次执行结束后都会进行清理。

使用示例

每 5 次清理一次显存

  • batch_index 接当前次数
  • batch_clear = 5

这样会在第 5、10、15 次执行时清理显存。

每 10 次清理一次内存

  • batch_index 接当前次数
  • batch_clear = 10

这样会在第 10、20、30 次执行时清理内存。

选择建议

  • 如果主要是显存不足,优先使用 DocKr / VRAM-Cleanup
  • 如果主要是运行时间长后内存持续升高,优先使用 DocKr / RAM-Cleanup
  • 如果两种情况都会遇到,可以两个节点一起使用

注意事项

  • 清理频率越高,通常越稳定,但也可能带来更慢的执行速度
  • 如果修改过节点名称,旧工作流可能需要重新放置节点
  • 修改代码后请重启 ComfyUI

简单结论

如果你不确定怎么设置,可以先从下面这一条开始:

batch_clear = 10

先跑起来,再根据机器情况改成 53,通常就够用了。