VRAM Debug(VRAM_Debug)
이 노드는 ComfyUI의 `model_management` 인터페이스를 호출하여 현재 사용 가능한 GPU 메모리 크기(바이트 단위)를 가져옵니다.
VRAM Debug
VRAM 디버그 노드는 ComfyUI의 model_management 인터페이스를 호출하여 현재 사용 가능한 VRAM 크기(바이트 단위)를 가져옵니다.
VRAM 디버그는 VRAM을 모니터링하고 관리하기 위한 유틸리티 노드입니다. 핵심 기능은 워크플로 실행 중 사용 가능한 VRAM 용량을 측정하고 보고하는 동시에, VRAM 정리 및 모델 언로드 옵션을 제공하여 사용자가 리소스 사용을 최적화할 수 있도록 돕는 것입니다.
노드 기능
이 노드는 ComfyUI의 model_management 인터페이스를 호출하여 현재 사용 가능한 VRAM 크기(바이트 단위)를 가져옵니다. 세 가지 선택적 작업을 실행할 수 있습니다: 소프트 캐시 비우기, 강제 가비지 컬렉션 실행, 그리고 로드된 모든 모델 언로드. 이러한 작업은 점유된 VRAM 리소스를 해제하는 것을 목표로 하며, 입력 데이터를 처리하거나 수정하지 않고 그대로 전달합니다.
노드 파라미터 설명 - 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 (입력 파라미터): VRAM 해제를 시도하기 위해 소프트 캐시 비우기 작업을 실행할지 여부를 결정하는 불리언 스위치입니다. 기본적으로 활성화되어 있습니다. |
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 (출력 파라미터): 정리 작업을 실행하기 전 시스템의 사용 가능한 VRAM 바이트 수입니다. |
| freemem_after | INT | freemem_after (출력 파라미터): 지정된 정리 작업을 실행한 후 시스템의 사용 가능한 VRAM 바이트 수입니다. |
사용 시나리오
복잡한 워크플로에서 고해상도 이미지를 연속 생성하거나 다양한 대형 모델을 전환한 후 VRAM이 점차 고갈될 수 있습니다. 이때, 이 노드를 워크플로의 주요 위치(예: 리소스를 많이 사용하는 두 노드 사이)에 삽입하여 VRAM 관리 기능을 트리거해 공간을 확보하고, 후속 노드가 원활하게 실행되도록 할 수 있습니다. 동시에 출력된 정수 값을 통해 해제 효과를 모니터링할 수 있습니다.
주의사항
이 노드는 주로 디버깅 및 리소스 모니터링을 위해 사용됩니다. 실행하는 모델 언로드 작업(활성화된 경우)은 워크플로에서 이미 로드된 모델에 의존하는 다른 노드에 영향을 미칩니다. 따라서, 이 노드는 이전에 로드된 모델을 즉시 사용할 필요가 없는 워크플로 단계에 배치하거나, 워크플로 종료 전 정리 단계로 사용하는 것이 좋습니다.
VRAM 디버그 노드 소스 코드 링크
VRAM 디버그 노드는 ComfyUI-KJNodes 노드 패키지에서 제공됩니다.
댓글
GitHub로 로그인하고 토론에 참여하세요.