ComfyUI로 고해상도 이미지나 복잡한 워크플로우를 돌리다 보면 그래픽카드 VRAM이 8GB~12GB 수준인 환경에서는 실행 도중 Out of Memory(CUDA out of memory, OOM) 에러가 뜨며 프로세스가 뻗거나, Shared VRAM으로 넘어가면서 생성 속도가 10배 이상 곤두박질치는 현상을 자주 겪게 됩니다. 여러 번 튕겨가며 정착한 실전 경량화 및 최적화 세팅 팁 3가지 정리해 둡니다.

1. 실행 인자에 --lowvram 또는 --medvram 지정하고 fp8 모델 적극 활용하기

VRAM이 12GB 이하인 환경에서는 기본 실행 대신 실행 스크립트(run_nvidia_gpu.bat 등) 인자에 --medvram 또는 --lowvram을 붙여 모델 가중치와 연산 텐서를 필요할 때만 VRAM에 올리고 내리도록 설정하는 게 필수입니다. 특히 SDXL이나 FLUX 같은 대형 모델을 쓸 때는 fp16 대신 체크포인트와 텍스트 인코더(CLIP)를 fp8로 양자화된 버전을 로드하면 품질 손실은 거의 체감되지 않으면서 VRAM 점유율을 30~40% 이상 아낄 수 있습니다.

2. 중간 과정의 VAE Decode는 끄고 프리뷰는 Taesd(Latent Preview)로 대체하기

노드 그래프 중간에 생성이 제대로 되고 있는지 보려고 Preview Image 노드를 KSampler 단계마다 걸어두면 매번 VAE Decode 연산이 돌아가면서 순간적인 VRAM 스파이크로 OOM이 터지기 쉽습니다. 중간 프리뷰는 ComfyUI Manager나 설정에서 저용량 Taesd(Tiny AutoEncoder) 프리뷰 옵션을 켜서 가볍게 확인하고, 실제 고화질 VAE Decode는 맨 마지막 최종 결과물 출력 노드 앞에서 딱 한 번만 수행하도록 구성해야 메모리가 안정적입니다.

3. 불필요한 고해상도 Latent Upscale 대신 Tiled VAE / Tiled Diffusion 노드 적용하기

기본 Latent Upscale이나 고배율 업스케일 노드를 그대로 연결해 돌리면 해상도가 2K, 4K로 커질 때 타일 분할 없이 통째로 연산하다가 100% 메모리 부족으로 튕깁니다. 1.5배 이상 스케일업이 들어갈 때는 반드시 ComfyUI-TiledDiffusion이나 Ultimate SD Upscale 노드를 써서 타일 단위로 쪼개어 연산하게 만들고, VAE Decode도 'Tiled VAE Decode' 노드로 교체해야 8GB VRAM에서도 에러 없이 4K 이상 고해상도 뽑기가 가능합니다.

(이미지 출처: 구글 검색)

복잡한 노드를 많이 연결할수록 메모리 관리가 핵심이라, 타일 분할과 fp8 로딩만 습관화해 둬도 튕김 없이 훨씬 쾌적하게 작업할 수 있습니다. 로컬에서 ComfyUI 돌리시는 분들은 세팅 점검해 보시면 좋을 것 같습니다.