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_inputIO--any_input(输入参数):一个通用的输入接口,可以接收任何类型的数据。节点不对其进行处理,仅用作触发节点执行的信号之一。
image_passIMAGE--image_pass(输出参数):原样返回 image_pass 输入的图像数据。
model_passMODEL--model_pass(输出参数):原样返回 model_pass 输入的模型数据。

控件参数 (Parameters)

参数名称数据类型必填默认值取值范围/选项说明
empty_cacheBOOLEANTrue-empty_cache(输入参数):布尔开关,用于决定是否执行软清空缓存操作以尝试释放显存,默认启用。
gc_collectBOOLEANTrue-gc_collect(输入参数):布尔开关,用于决定是否强制进行一次垃圾回收循环,默认启用。
unload_all_modelsBOOLEANFalse-unload_all_models(输入参数):布尔开关,用于决定是否卸载 ComfyUI 内存中所有的模型,默认关闭。

输出 (Output)

参数名称数据类型说明
any_outputANYany_output(输出参数):原样返回 any_input 输入的数据。
image_passIMAGEimage_pass(输出参数):原样返回 image_pass 输入的图像数据。
model_passMODELmodel_pass(输出参数):原样返回 model_pass 输入的模型数据。
freemem_beforeINTfreemem_before(输出参数):执行任何清理操作前系统的空闲显存字节数。
freemem_afterINTfreemem_after(输出参数):执行完指定清理操作后系统的空闲显存字节数。

使用场景

在复杂的工作流中,当连续生成多张高分辨率图像或切换不同的大模型后,显存可能逐渐耗尽。此时,可以将此节点插入到工作流的关键位置(例如,在两个资源密集型的节点之间),通过触发其显存管理功能来释放空间,确保后续节点能顺利执行,同时通过输出的整数值监控释放效果。

注意事项

此节点主要用于调试和资源监控。其执行的模型卸载操作(当启用时)会影响工作流中其他依赖已加载模型的节点。因此,推荐将其放置在不需要立即使用之前加载的模型的工作流阶段,或者作为工作流结束前的清理步骤。

VRAM 调试节点源码连线

VRAM 调试 节点来自 ComfyUI-KJNodes 节点包。

评论

使用 GitHub 登录后即可参与讨论。

评论加载中…