2026-04-14

로컬 LLM 디스크 / RAM 안정 운영 가이드, 모델 캐시 정리 + 메모리 압박 신호 + 자동 복구

로컬 LLM 디스크 / RAM 안정 운영 가이드, 모델 캐시 정리 + 메모리 압박 신호 + 자동 복구

"로컬 LLM 한 달 돌렸더니 디스크가 가득 차서 앱이 멈췄어요."

흔한 사고. 로컬 LLM 운영의 가장 큰 함정은 디스크 / RAM 의 점진 누적. 본 글은 운영 흐름에서 도출한 4가지 안정 운영 노하우를 정리합니다.

결론 먼저, 4가지 안정 운영 노하우

네 가지 영역의 평소 사용량과 위험선을 한 화면에 본다. RAM 슬라이더는 모델 1개 로드 후 시스템 여유까지 합친 평소값이고, 디스크 슬라이더는 6개월 누적 평균이다.

각 영역 평균값은 100~500명 단톡방 운영 흐름 기준. 큰 단톡방은 로그 사용량이 더 큼.

1. 디스크 관리

GGUF 모델 파일 위치

Replyer 가 모델을 저장하는 폴더:

  • macOS, ~/Library/Application Support/Replyer/models/*.gguf
  • Windows, %APPDATA%\Replyer\models\*.gguf

모델별 디스크 + RAM 동시 비교

모델 4종의 디스크 점유 (GB) 와 load 후 RAM 사용 (GB) 을 가로 막대로 같이 본다. 디스크는 SSD 1회 비용, RAM 은 매 운영 사이클 비용이다.

막대를 보면 Q4 3B 는 8GB 노트북에서도 OS / 브라우저와 공존 가능. 27B 는 RAM 32GB+ 가 안전선이다.

안 쓰는 모델 정리

Replyer 의 [Settings → 디스크 사용량] 카드에서:

  1. 현재 사용 중 모델 / 다운로드된 다른 모델 / 총 사용 디스크 가시화
  2. [정리] 버튼 또는 모델별 [삭제] 로 안 쓰는 모델 제거
  3. 정리 후 디스크 여유 즉시 확인

수동 정리, 위 경로의 models/ 폴더에서 안 쓰는 .gguf 파일 직접 삭제도 가능.

2. RAM 관리

모델 1개만 로드

Replyer 는 동시에 1개 모델만 RAM 에 로드. 모델 변경 시 옛 모델 unload + 새 모델 load. 단, 모델 변경 시 첫 응답이 5~10초 추가 (load 시간), 자주 모델 바꾸면 응답 지연 누적 → default 모델 정착이 안정.

RAM 압박 신호 3가지

모델 load 후 RAM 부족 신호:

  • 응답 속도 갑작스러운 저하 (3초 → 15초), swap 발생
  • OS 알림 "메모리 부족" 또는 다른 앱 강제 종료
  • Replyer 응답 실패 "Failed to load model from file" → R66+ 부터 자동 복구

대응, 다른 무거운 앱 (Chrome 탭 50개 / 비디오 / VM) 종료 또는 더 작은 모델 선택.

3. 로그 / 캐시 관리

Replyer 의 로그 / 데이터 위치

  • logs/ 시스템 / 응답 / 에러 로그 JSONL
  • conversations/ 단톡방별 대화 JSONL
  • backups/ 자동 백업 zip
  • agent_history/ 페르소나 버전 히스토리

단톡방 규모별 일 로그 누적

단톡방이 커질수록 로그가 모델보다 빠르게 디스크를 차지한다.

2,000명+ 단톡방은 월 36GB 까지 가능, 정기 정리 필수.

자동 정리 정책

Replyer 의 [Settings → 로그 정리]:

  • 30일+ 옛 로그 자동 삭제 (default)
  • 90일+ 옛 대화 자동 삭제 (default)
  • 사용자가 보존 기간 조정 가능

수동 [정리] 버튼으로 즉시 정리 가능.

4. 자동 복구 (R66+ 도입)

R66 (v0.12.7) 부터 디스크 / 모델 자동 복구 기능. 다운로드 중단 / 디스크 가득 등으로 GGUF 파일 손상 시 Replyer 가 load 시도, "Failed to load model from file" 응답이 오면 자동으로 손상 파일 삭제 + 재다운로드 시도. 사용자에게는 친절한 메시지 ("부분 다운로드 / build 미지원 / RAM 부족" 3가지 가능 원인) 가 전달된다. R66 이전엔 같은 문제가 무한 루프 (load 실패 → 재다운로드 → 또 실패) 였음.

config.json 손상 자동 알림

config.json 파일이 손상되면 시작 시 banner 알림 (top-fixed amber), 가장 가까운 .bak 파일로 복원 옵션 제공, 클릭 한 번으로 복원 + 자동 새로고침.

Filelock 손상 자동 정리

R66 부터 stale filelock 자동 정리. 30분+ 옛 lock 자동 무시 (옛은 5분, false positive 많음), .incomplete mtime <60s 면 active 로 간주 → lock 보호. 모델 다운로드 끊김 후 재시도 안전.

장기 운영 사용자의 실제 디스크 / RAM

6개월+ 운영 흐름 평균, 디스크 (Replyer 데이터) 5~15GB, 사용 중 모델 1~2개, RAM 사용 4~10GB, 월 로그 누적 0.5~3GB (정리 전), 월 정리 빈도 1~4회. 대부분 default 설정 + 월 1회 디스크 사용량 확인 + 분기 1회 안 쓰는 모델 정리로 6개월+ 안정.

자주 묻는 질문

Q. 모델 다운로드 중에 디스크 가득 차면 어떻게 되나요?

R66+ 부터 다운로드 사전 디스크 체크. 모델 크기 + 1GB 여유가 없으면 다운로드 거부 + 친절한 메시지. 다운로드 중에 다 차면 부분 다운로드 → R66+ 자동 정리 + 재시도.

Q. RAM 압박 신호 보이면 어떻게 해야 하나요?

  1. 즉시, 다른 무거운 앱 종료 (Chrome 탭 / 비디오 등)
  2. 단기, 더 작은 모델 (예, Qwen 2.5 3B) 로 변경
  3. 장기, RAM 업그레이드 또는 데스크톱 운영 환경 검토

GPU 없는 노트북 가이드 의 RAM 권장값 매트릭스 참고.

Q. 로그 파일을 직접 삭제해도 되나요?

가능. logs/ / conversations/ 폴더의 .jsonl 파일 직접 삭제. Replyer 운영에 영향 X. 단 옛 대화 분석 (Diagnostics 의 키워드 / 라우팅) 데이터도 함께 사라짐.

Q. 백업 zip 이 누적되는데 정리 가능한가요?

가능. backups/ 폴더의 .zip 파일 직접 삭제 또는 Replyer 의 [Backup → 옛 백업 정리]. 1~2개월 최근 백업만 유지가 적절.

Q. 자동 복구가 동작 안 하면 어떻게 하나요?

  1. Replyer 종료
  2. 위 경로의 models/ 폴더에서 손상 GGUF 파일 직접 삭제
  3. Replyer 재시작 → 새 모델 다운로드

Q. 디스크 / RAM 모니터링 자동화 가능?

Replyer 의 [Settings → 시스템 리소스] 또는 /api/system/resources 엔드포인트. 자체 스크립트로 일 단위 점검 가능. 일반 운영자는 [Settings] 페이지 월 1회 확인이면 충분.

다음 단계

본인 단톡방에 자동 답장을 도입하려면 Replyer 다운로드 에서 본인 OS 빌드를 받고, 단계별 사용법은 사용 매뉴얼 을 참고하세요.