# task-1571.1 완료 보고서

**S**: Whisper GPU 서비스가 medium 모델을 서버 시작 시 상시 로딩하여 CUDA 메모리 1,620MB(9.9%)를 점유하고, 네이버 Chrome(BlogAuto) 서비스가 RAM 745MB(4.7%)를 상시 사용 중이다.

**C**: 전사 작업이 없을 때에도 GPU/RAM 리소스를 점유하여 다른 서비스에 영향을 미치며, 네이버 Chrome은 직접 블로그 발행 결정으로 더 이상 불필요하다.

**Q**: GPU 메모리와 RAM 리소스를 유휴 시 해제하여 서버 리소스 효율을 높일 수 있는가?

**A**: Whisper GPU를 lazy-load 방식으로 전환하여 idle 시 GPU 메모리 1,620MB → 2MB로 감소(99.9% 절감). 네이버 Chrome 서비스를 stop+disable하여 RAM ~750MB 해제. 총 ~2.4GB 리소스 절감 달성. pytest 30건 전원 PASSED, 서비스 재시작 후 health 엔드포인트 정상 동작 확인.

---

## 작업 내용

### 작업 1: Whisper GPU lazy-load 전환

- **모델 lazy-load**: 서버 시작 시 모델 미로딩. 첫 전사 요청 시 자동 로딩
- **자동 언로드**: 마지막 요청 후 10분(600초) 미사용 시 `del model` + `torch.cuda.empty_cache()` 호출
- **상태 엔드포인트**: `GET /v1/health`에서 모델별 loaded/unloaded 상태, last_used, unload_timeout_sec 표시
- **로딩 중 대기**: `asyncio.Lock(_gpu_lock)`으로 직렬화, 로딩 중 요청은 대기 후 처리

### 작업 2: 네이버 Chrome 서비스 아카이브

- `naver-browser.service`: stop + disable 완료
- `naver-browser-proxy.service`: stop + disable 완료
- 설정 파일/프로필/스크립트: 그대로 보존 (삭제 없음)
- 아카이브 기록: 비활성화 사유, 복원 명령어 문서화 완료

---

## 산출물 파일

- `/home/jay/workspace/services/whisper-gpu/server.py` (수정)
- `/home/jay/workspace/services/whisper-gpu/test_server.py` (수정)
- `/home/jay/workspace/memory/archive/naver-chrome-archive.md` (신규)

---

## 테스트 결과

- **pytest**: 30건 전원 PASSED (2.82s)
  - 기존 24건 + lazy-load 신규 6건 (health 3건 + TestLazyLoad 3건)
- **서비스 재시작 후 검증**:
  - `whisper-gpu.service`: active (running), 메모리 39.8MB
  - GPU 메모리: 2 MiB / 6,144 MiB (모델 미로딩)
  - `GET /v1/health` → `{"status":"ok", "models":{"medium":"unloaded","small":"unloaded"}, "gpu_memory_used_mb":2}`
- **네이버 Chrome 검증**:
  - `naver-browser.service`: disabled, inactive (dead)
  - `naver-browser-proxy.service`: disabled, inactive (dead)
  - Chrome 프로세스: 없음 확인

---

## 발견 이슈 및 해결

### 자체 해결 (1건)
1. **server.py 주석 불일치** — "medium은 시작 시 프리로딩" 주석을 "lazy-load" 설명으로 갱신
   - 상세: `/home/jay/workspace/services/whisper-gpu/server.py:47` 변경

### 범위 외 미해결 (1건)
1. **server.py 미사용 import (File, Form)** — 범위 외 사유: 기존 코드의 미사용 import로 이번 작업과 무관한 리팩토링

---

## 모델 사용 기록

- 팀원: 카르티케야 / 작업 내용: server.py lazy-load 전환 + test_server.py 업데이트 / 사용 모델: sonnet / 정당성: -

---

## 리소스 절감 효과

- **GPU 메모리**: idle 시 1,620MB → 2MB (99.9% 절감)
- **RAM**: 네이버 Chrome 해제 ~750MB
- **총 절감**: ~2.4GB (idle 시)
