M4 Mac Mini에서 로컬 LLM을 돌릴 때 커뮤니티에서 가장 자주 싸우는 건 「Ollama냐 MLX냐」보다 16GB가 정말 충분하냐입니다. qwen2.5:14b 설치 직후 「돌아가네」라고 느껴도 3턴째 swap, tok/s 11→3——24GB로 올리면 7B가 50 tok/s 근처까지 나오기도 합니다. 메모리 단계를 잘못 고르면 프레임워크 선택보다 치명적입니다.
Macstripe Lab M4 Mac Mini 3대(16GB / 24GB / 32GB)로 Ollama 0.6.2와 MLX를 페어 실측해 메모리×용도×프레임워크 결정표, swap 임계점, 7단계 checklist를 공개합니다. 가격·공식 시작가는 2026-07-21 기준. 모델 선택은 7B vs 14B 실측, 프레임워크는 Ollama vs MLX 참고.
1. 먼저 결론: 메모리 단계 × 용도 × 권장 조합
| 통합 메모리 | 전형적 용도 | 권장 모델 | 런타임 | 실측 tok/s(median) | 리스크 |
|---|---|---|---|---|---|
| 16GB | 개인 채팅, 가벼운 스크립트, 로컬 체험 | qwen2.5:7b / llama3.1:8b | Ollama | 7B ~29 · 8B ~28.8 | 14B swap 쉬움; Chrome+IDE 동시는 빡빡 |
| 24GB | Claude Code Agent, 크로스파일 개발 | qwen2.5-coder:14b | Ollama | 14B ~15.1 · 7B ~51.1 | 스위트스팟; decode는 7B보다 느린 게 정상 |
| 32GB | 큰 ctx + Xcode 동시, 팀 경량 노드 | 14B + num_ctx 32K | Ollama serve | 14B ~16–18 | 24GB보다 비쌈; 개인 ROI 계산 필요 |
| 48GB+ | 다인 공유 추론, 32B 탐색 | qwen2.5:32b(Q4) | Ollama serve 클러스터 | 32B ~8–12 | M4 로컬 LLM Hub 가이드 참고 |
2. 세 가지 함정: 왜 메모리가 프레임워크보다 중요한가
Lab에서 반복되는 「선택은 맞는데 메모리가 모자람」 패턴 세 가지:
| 함정 유형 | 전형적 증상 | 실측 수치 | 올바른 대응 |
|---|---|---|---|
| tok/s 랭킹만 봄 | 인터넷 14B 「15 tok/s」, 내 환경은 3 | 16GB 14B: 11.2 → 8.4 → 3.4 tok/s(3 run 감소) | Swapins 대조; 랭킹은 24GB 클린 측정이 많음 |
| 백그라운드 점유 무시 | 「Ollama만」인데 Chrome 30탭 + Xcode 인덱싱 | 8B 클린 28.8 tok/s → Chrome 시 20.8(median 제외) | 측정 전 탭 정리; OS+IDE 4–6GB 예산 |
| 프레임워크와 메모리 혼동 | MLX로 바꾸면 14B 메모리 절약될 것 | 동일 모델 Ollama vs MLX 차 <5% | 프레임워크 차는 몇 %; 단계 차는 한 자릿수 |
한 indie 개발자 피드백이 전형적입니다: 「16GB + Claude Code + qwen2.5-coder:14b, 처음 2턴 OK, 3턴째 TTFT 1.9s→5.8s」——모델이 나빠진 게 아니라 통합 메모리가 swap 구간에 들어간 것. 원리는 《통합 메모리와 LLM 추론》 참고.
3. 형태: 16GB / 24GB / 32GB 경계
베이스 M4 Mac Mini는 16GB / 24GB / 32GB 통합 메모리, 10코어 GPU, 대역폭 약 120 GB/s. GB 수는 L2 대역 상한을 바꾸지 않지만 모델 + KV + 포그라운드 앱이 동시 상주 가능한지, L3 압력 붕괴를 피할지를 결정합니다.
3.1 메모리 예산식(추정)
| 점유 항목 | 7B Q4 | 14B Q4 | 설명 |
|---|---|---|---|
| 양자화 가중치 | ~4.5 GB | ~9 GB | Ollama 기본 Q4_K_M |
| KV cache(num_ctx=2048) | ~0.5 GB | ~1 GB | ctx에 비례 |
| macOS + 포그라운드 | 4–6 GB | 4–6 GB | Chrome/IDE 각 1–3 GB |
| Ollama daemon | ~0.3 GB | ~0.3 GB | 상주 HTTP |
| 합계(거친 계산) | ~10 GB | ~15 GB | 16GB 14B는 여유 거의 없음 |
3.2 세 단계 대조: 안정 / 간신 / 비권장
| 메모리 | 7B/8B | 14B | 32B | 비고 |
|---|---|---|---|---|
| 16GB | ✅ 안정 | ⚠️ swap 쉬움 | ❌ | 개인 경량 1순위 |
| 24GB | ✅ 매우 빠름 | ✅ 스위트 | ⚠️ 빡빡 | Agent/개발 권장 |
| 32GB | ✅ | ✅ 큰 ctx | ⚠️ Q4 시도 | 동시 CI + LLM |
주 용도가 「로컬 Claude Code + 14B」라면 24GB가 ROI 최고 업그레이드 지점——「8GB마다 8 tok/s」가 아니라 swap 발화를 미루어 14B를 붕괴 구간에서 안정 구간으로. 전체 방법론은 Hub 전량 실측 참고.
4. 구성: Ollama vs MLX 메모리 footprint 실측
MLX가 「더 네이티브=더 적은 메모리」로 오해받지만 실측은 다릅니다. 같은 모델·양자화면 가중치와 KV는 거의 동일; 차이는 런타임 구조에 있지 GB 수에 있지 않습니다.
| 비교 항목 | Ollama | MLX | 실측 차 |
|---|---|---|---|
| 모델 가중치(Llama 3.1 8B Q4) | ~4.9 GB | ~4.8 GB | 무시 가능 |
| 상주 프로세스 | ~200–400 MB(daemon) | 필요 시 로드, daemon 없음 | Ollama가 약간 더 |
| tok/s(16GB 클린 8B) | median ~28.8 | ~28–32 | MLX 0–12% 빠름(오프라인) |
| tok/s(24GB 클린 8B) | median ~51.2 | ~52–55 | 차이 축소 |
| Claude Code 연결 | ✅ 네이티브 :11434 | ❌ 자체 HTTP 필요 | Agent는 Ollama 고정 |
| swap 후 동작 | 11.2 → 3.4 tok/s | 같은 메모리 단계에서 동일 붕괴 | 메모리 단계가 전부 |
원격 14B 체험, 로컬 업그레이드 회피? Macstripe 24GB 클라우드 노드에서 1주 시험 후 Agent 워크플로 확인.
5. 실측 데이터: tok/s, TTFT, swap 임계점
테스트: Mac Mini M4(Mac14,3), macOS 15.4.1, Ollama 0.6.2, 기본 Q4_K_M. 기기 m4-16gb-lab-01, m4-24gb-lab-02. 기간 2026-05-28~2026-07-18.
5.1 16GB: 7B 안정 vs 14B 붕괴
| 모델 | run 1 | run 2 | run 3 | median | Swapins |
|---|---|---|---|---|---|
| qwen2.5:7b | 28.7 | 31.4 | 26.9 | 29.1 | 0 |
| qwen2.5:14b | 11.2 | 8.4 | 3.4 | —(세션 중단) | 8421+ |
14B @ 16GB는 「조금 느림」이 아니라 3단계 붕괴: run 1 견딤 → run 2 swap → run 3 memorystatus: WARN → runner OOM.
5.2 24GB: 14B 스위트스팟
| 모델 | tok/s 5 run | median | TTFT | Swapins |
|---|---|---|---|---|
| qwen2.5:7b | 49.2 / 53.8 / 51.1 / 48.6 / 52.4 | 51.1 | ~2.0s | 0 |
| qwen2.5:14b | 14.2 / 16.8 / 15.1 / 17.3 / 14.9 | 15.1 | ~2.7s | 0 |
5.3 raw log 발췌
--- m4-16gb-lab-01 · qwen2.5:14b ---
run 1: tok/s=11.2 TTFT=2.71s
run 2: tok/s=8.4 Swapins: 1204
run 3: tok/s=3.4 memorystatus: WARN TTFT=5.81s
run 4: ERROR runner killed (oom?) Swapins: 8421
--- m4-24gb-lab-02 · qwen2.5:14b ---
tok/s: 14.2 16.8 15.1 17.3 14.9 median: 15.1
전체 log: resources/sample-benchmark-7b-14b-run.log; 재현: resources/benchmark-m4-mac-mini-ollama.sh.
6. 채널: 자가 업그레이드 vs 클라우드 Mac 임대
| 경로 | 적합 대상 | 장점 | 단점 |
|---|---|---|---|
| 자가 업그레이드(16→24GB) | 주 여러 번 로컬 Agent, 장기 오프라인 | 일시 투자, 데이터 로컬 유지 | Apple 공식 업그레이드 비쌈; 데스크 고정 |
| 클라우드 Mac 일/월 임대 | 14B 체험, 피크 작업, 팀 노드 | 수 분 개통, 24GB/48GB 선택 가능 | 네트워크 필요; 장기 ROI 계산 |
| 하이브리드: 로컬 16GB + 클라우드 24GB | 일상 7B 로컬, 무거운 작업은 클라우드 | 비용 유연, 피크 swap 없음 | 두 환경 유지 |
iOS+AI 병행 개발자 사례: 로컬 16GB 7B 보완, Claude Code 무거운 작업은 Macstripe 24GB SSH——월 약 $103, 자가 24GB 업그레이드 차보다 관리 쉬움. 임대 견적 비교는 《동급 Mac mini M4 임대 요금 대조》.
7. 단계 업그레이드 가격차: 메모리에 얼마 쓸까
| 업그레이드 경로 | Apple 공식 차(약) | 클라우드 월 차(약) | 언제 값어질까 |
|---|---|---|---|
| 16GB → 24GB | +¥1,500(구매 시) | +약 $30–50/월 | 주 3회+ 7B로 「고칠 수 없음」 |
| 24GB → 32GB | +¥1,500 | 벤더별 | 동시 Xcode CI + 14B |
| 16GB → 48GB(M4 Pro) | 기종 변경 | Macstripe 48GB 노드 | 팀 공유 / 32B 탐색 |
ROI 거친 계산:7B 품질 부족으로 주 2시간 추가(¥200/h)면 월 ¥1,600——16→24GB 공식 차 상회. 메모리 업그레이드는 가장 저렴한 유효 업그레이드로, 프레임워크 교체나 튜닝보다 효과 큼.
8. checklist와 7단계 실행
주문·설치 전 아래로 기대치 맞추기:
- ☐ 주 용도 채팅(7B 충분) vs Agent 개발(14B 쪽)
- ☐ Chrome 20+ 탭 + IDE 동시 여부
- ☐ Claude Code / Cursor 로컬 모델 연결 필요
- ☐ 런타임 Ollama(Agent) vs MLX(벤치만)
- ☐ 로컬 상주 vs 피크는 클라우드
- ☐ 예산 16GB / 24GB / 32GB 중 어디
- ☐ 팀 공유 필요(→ 24GB+ 또는 클라우드)
- ☐ swap 리스크 수용(16GB + 14B = 고위험)
7단계(Ollama 경로)
- 메모리 단계와 목표 모델 확정(16GB→7B; 24GB→14B)
- Ollama 설치:
brew install ollama또는 공식 pkg - 모델 pull:
ollama pull qwen2.5-coder:7b(16GB) 또는:14b(24GB) - Metal 확인:
ollama serve로그에ggml_metal_init - benchmark:
./resources/benchmark-m4-mac-mini-ollama.sh - 메모리 모니터:
vm_stat+ 활동 모니터 압력 - Agent 연결: Claude Code를
http://127.0.0.1:11434로
9. 인용 가능 시작가표(2026-07-21 기준)
| 구성 | Apple 공식 시작가(CNY 참고) | 교육가(약) | Macstripe 클라우드 월(USD) |
|---|---|---|---|
| M4 Mac Mini 16GB / 256GB | ¥4,499 | ¥4,049 | 약 $102.9 |
| M4 Mac Mini 24GB / 256GB | ¥5,999 | ¥5,399 | 약 $130–150(노드별) |
| M4 Mac Mini 32GB / 256GB | ¥7,499 | ¥6,749 | 문의 |
| M4 Pro 48GB(추론 노드) | ¥12,999+ | 구성별 | 요금 페이지 |
Apple 가격은 공식 공개(중국 가격 참고); 클라우드는 Macstripe 요금 페이지 실시간 표시 우선.
10. 시나리오별: 누가 어떤 단계를 살까
| 대상 | 권장 메모리 | 모델 + 프레임워크 | 대안 |
|---|---|---|---|
| 학생 / 체험 | 16GB | 7B + Ollama | 클라우드 일 단위 14B |
| indie + Agent | 24GB | 14B + Ollama | 로컬 16GB + 클라우드 24GB |
| iOS 개발 + 로컬 LLM | 32GB | 14B + Xcode 동시 | CI와 추론 2대 분리 |
| 소팀 추론 노드 | 48GB | ollama serve 클러스터 | Macstripe 48GB 노드 |
24GB 충분한지 불확실하면 주 단위 클라우드 Mac으로 실 Agent 워크플로 돌리는 게 벤치 10편보다 낫습니다. Macstripe SSH/VNC 직결, 약 5분 개통, 장기약 없음——시험 후 자가 업그레이드 vs 장기 임대 결정.
FAQ
M4 Mac Mini 로컬 LLM, 16GB vs 24GB?
일상 7B/8B + 가벼운 IDE면 16GB. 14B 안정, Claude Code Agent, 브라우저 다탭이면 24GB. 16GB 14B 강행 시 tok/s 11.2→3.4.
Ollama와 MLX, 메모리 더 쓰는 쪽?
같은 모델·양자화면 차 5% 미만. 병목은 통합 메모리 단계. Agent는 Ollama 고정.
32GB가 24GB보다 값어질까?
개인 14B + 표준 ctx면 24GB로 보통 충분. 32GB는 Xcode CI + LLM 동시, 큰 num_ctx용.
메모리 부족 신호?
메모리 압력, vm_stat Swapins 증가, tok/s 절벽. memorystatus WARN은 swap 전조.
실물 Mac 없이 클라우드로 로컬 LLM?
가능. Macstripe 16GB/24GB/48GB 전용 M4, SSH 후 Ollama. 14B 체험·팀 추론 노드용.
요약
M4 Mac Mini 로컬 LLM에서 메모리 단계가 결정적: 16GB는 7B + Ollama 개인 체험; 24GB는 14B Agent 스위트스팟; 32GB는 CI + 큰 ctx 동시. Ollama vs MLX 메모리 차 무시 가능——Agent→Ollama, 벤치→MLX.
16GB에서 14B 버티는 중이면 7B vs 14B 실측 swap 데이터를 보거나 24GB 클라우드 Mac 1주 체험 후 결정하세요.