스타일 변환 리소스 사용률 테스트 - 100-hours-a-week/5-yeosa-wiki GitHub Wiki
스타일 변환 gpu 사용률 체크(코랩 환경)
-
base cpu 스펙(물리코어1개, vCPU(스레드) 2개)
Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Address sizes: 46 bits physical, 48 bits virtual Byte Order: Little Endian CPU(s): 2 On-line CPU(s) list: 0,1 Vendor ID: GenuineIntel Model name: Intel(R) Xeon(R) CPU @ 2.00GHz CPU family: 6 Model: 85 Thread(s) per core: 2 Core(s) per socket: 1 Socket(s): 1 Stepping: 3 BogoMIPS: 4000.41
gpu: Tesla T4 1개
메모리: 13290452 kB (대략 13.3GB)
SD WebUI Startup
)
1. Stable Diffusion WebUI 시작 시 (리소스 사용 추이 요약:
리소스 | 초기값 → 최고값 |
---|---|
CPU | 4~74% (단발성 고점) |
메모리 | 10.2% → 16.2% |
GPU 메모리 | 0 → 102MB |
GPU Load | 0% 고정 |
디스크 사용량 | 42.24 → 45.18GB (약 3GB 증가) |
의미 분석:
- 대부분의 부하가 CPU에서 발생: 로딩 과정에서 Python 모듈, 모델 weight 파일, ControlNet 스크립트 등이 처리됨.
- GPU 메모리는 거의 사용되지 않음: 아직 이미지 생성이 시작되지 않아 모델만 로드된 상태.
- 디스크 사용량은 모델 및 캐시 적재로 소폭 증가 (약 3GB).
즉, 이 단계는 시스템 초기화 + 모델 준비 단계이며, GPU는 거의 놀고 있는 상태임.
On Request
)
2. 이미지 생성 요청 처리 시 (리소스 변화 추이:
시점 | CPU | MEM | GPU Load | GPU Mem |
---|---|---|---|---|
요청 직후 | 2~63% | 18.4% → 22.9% | 0% | 2800MB |
요청 처리 중 | 43% → 94.5% | 22.6% | 6~32% | 2960MB |
처리 완료 후 | 2~6% | 22.9% | 0% | 2984MB |
🔍 의미 분석:
- GPU 활성화 시작: 요청 직후
GPU Mem: 2800MB
, 처리 중에는GPU Load: 6~32%
, 안정적으로 생성에 GPU가 투입됨. - CPU usage도 90%대까지 치솟음: ControlNet 전처리, 이미지 후처리, 이미지 저장,
mediapipe_face
프리프로세서 등이 CPU 의존도가 높기 때문. - 메모리도 7%가량 증가: 15% → 22.9% 가량으로 SD+ControlNet 모델들 로딩 완료 후 inference 처리에 필요한 메모리 사용 증가.
- GPU 메모리는 고정 유지: 한 번 로딩되면 이후 재사용 → 이후 요청 시 훨씬 빠르게 처리 가능.
핵심 요약 (전체 흐름 분석)
구분 | 내용 |
---|---|
초기 구동 단계 | CPU 중심 로딩 (Torch/Gradio/Weights 등), GPU는 idle |
요청 전송 시 | GPU 메모리 급증, Load 활성화 시작, CPU도 동시 병렬 처리 |
요청 처리 중 | GPU Load 및 메모리 피크, CPU도 90% 이상까지 치솟음 |
요청 종료 후 | CPU/GPU 모두 안정, GPU 메모리는 남아 있음 (캐시 상태) |
- 요청 1개당 최대 사용량
- vCPU 2대 평균 94.5%
- 메모리 23%(3.0GB)
- GPU 1대 32%
- GPU 메모리 3000MB(대략 3GB)