KJNodes/memorygenerated
VRAM 调试(VRAM_Debug)
该节点通过调用 ComfyUI 的 `model_management` 接口来获取当前可用 GPU 显存的大小(以字节为单位)
VRAM Debug
image_pass
model_pass
any_output
image_pass
model_pass
freemem_before
freemem_after
empty_cache
gc_collect
unload_all_models
any_input
COMBO
KJNodes
VRAM 调试节点通过调用 ComfyUI 的 model_management 接口来获取当前空闲显存的大小(以字节为单位)。
VRAM 调试是一个用于监控和管理显存(VRAM)的实用工具节点。它的核心功能是在工作流执行过程中测量并反馈可用的显存容量,同时提供清理显存和卸载模型的选项,以帮助用户优化资源使用。
节点功能
该节点通过调用 ComfyUI 的 model_management 接口来获取当前空闲显存的大小(以字节为单位)。它支持执行三种可选操作:软清空缓存、强制垃圾回收以及卸载全部已加载的模型。这些操作旨在释放被占用的显存资源。节点本身不处理或修改任何输入数据,而是将输入数据原样传递。
节点参数说明 - VRAM 调试
连接输入 (Inputs)
| 参数名称 | 数据类型 | 必填 | 默认值 | 取值范围/选项 | 说明 |
|---|---|---|---|---|---|
any_input | IO | 否 | - | - | any_input(输入参数):一个通用的输入接口,可以接收任何类型的数据。节点不对其进行处理,仅用作触发节点执行的信号之一。 |
image_pass | IMAGE | 否 | - | - | image_pass(输出参数):原样返回 image_pass 输入的图像数据。 |
model_pass | MODEL | 否 | - | - | model_pass(输出参数):原样返回 model_pass 输入的模型数据。 |
控件参数 (Parameters)
| 参数名称 | 数据类型 | 必填 | 默认值 | 取值范围/选项 | 说明 |
|---|---|---|---|---|---|
empty_cache | BOOLEAN | 是 | True | - | empty_cache(输入参数):布尔开关,用于决定是否执行软清空缓存操作以尝试释放显存,默认启用。 |
gc_collect | BOOLEAN | 是 | True | - | gc_collect(输入参数):布尔开关,用于决定是否强制进行一次垃圾回收循环,默认启用。 |
unload_all_models | BOOLEAN | 是 | False | - | unload_all_models(输入参数):布尔开关,用于决定是否卸载 ComfyUI 内存中所有的模型,默认关闭。 |
输出 (Output)
| 参数名称 | 数据类型 | 说明 |
|---|---|---|
| any_output | ANY | any_output(输出参数):原样返回 any_input 输入的数据。 |
| image_pass | IMAGE | image_pass(输出参数):原样返回 image_pass 输入的图像数据。 |
| model_pass | MODEL | model_pass(输出参数):原样返回 model_pass 输入的模型数据。 |
| freemem_before | INT | freemem_before(输出参数):执行任何清理操作前系统的空闲显存字节数。 |
| freemem_after | INT | freemem_after(输出参数):执行完指定清理操作后系统的空闲显存字节数。 |
使用场景
在复杂的工作流中,当连续生成多张高分辨率图像或切换不同的大模型后,显存可能逐渐耗尽。此时,可以将此节点插入到工作流的关键位置(例如,在两个资源密集型的节点之间),通过触发其显存管理功能来释放空间,确保后续节点能顺利执行,同时通过输出的整数值监控释放效果。
注意事项
此节点主要用于调试和资源监控。其执行的模型卸载操作(当启用时)会影响工作流中其他依赖已加载模型的节点。因此,推荐将其放置在不需要立即使用之前加载的模型的工作流阶段,或者作为工作流结束前的清理步骤。
VRAM 调试节点源码连线
VRAM 调试 节点来自 ComfyUI-KJNodes 节点包。
评论
使用 GitHub 登录后即可参与讨论。