Apple Silicon은 「개인 PC」에서 「스케줄 가능한 AI 노드」로 이동 중입니다. M4/M5의 본질은 Geekbench가 아니라 워크로드가 어떻게 쌓이는지입니다 — 한 Mac mini에서 Ollama, Claude Code, GitHub Runner가 통합 메모리를 나눕니다.
M4에서 반복되는 패턴: Swap 시작 시 Ollama ~37→34 tok/s, 자체 Runner xcodebuild test 12→19분 — CPU는 여유인데 메모리 압력은 이미 노란색. 아래 세 가지 질문과 압력 추정식으로 M4 업그레이드·M5 대기·Cloud Mac 임대를 결정하세요.
한 장으로 보는 AI 워크로드가 통합 메모리를 무너뜨리는 과정
xcodebuild burst · +4–8GB
정상 경로(스케줄링/노드 분리)
- 사람 → IDE 코딩
- Runner는 Cloud Mac에서 CI
- Ollama는 야간 또는 다른 머신
- 여유 있음 → OK
퇴화 경로(세 층 동시)
- LLM 상주 ↑
- Runner burst ↑
- 메모리 사용 ↑
- Swap ↑
- CI 느림 · 생성 저하
핵심: 성능 문제는 종종 메모리 스케줄링 문제 — 모든 단계가 같은 풀에 물을 붓습니다.
아래 세 가지 질문은 이 연쇄가 Swap에 들어갔는지 묻는 것입니다.
질문별로 읽기
이 글은 선택 방법을 다룹니다. 병목이 분명하면 바로 이동하세요:
| 궁금한 점 | 추천 글 |
|---|---|
| M4/M5 세대 차이·업그레이드 시점·워크로드 분리 | 이 글 |
| Ollama 7B/14B 속도·Swap 영향 | M4 Ollama 실측 · 16GB vs 24GB |
| Ollama + Runner 동시에 느림 — 스케줄링 | AI 워크로드 runbook |
| Cloud Mac 검증 vs M5 대기 | Cloud Mac vs M5 · Cloud Mac vs 로컬 |
M4의 변화: 더 빠른 Mac이 아니라 AI를 계속 돌리는 노드
M4는 「CPU가 조금 빨라짐」이 아니라, 일반 개발 환경에서 로컬 추론을 상주시킬 수 있는 첫 Mac mini입니다.(16GB vs 24GB 실측)
memory_pressure, Activity Monitor Swap, Ollama footprint로 CI 피크와 LLM 상주를 동시에 견디는지 확인할 수 있습니다.
실무 질문은 「IDE가 버벅이나」에서 tok/s·Swap 여부·CI wall time drift로 옮겨졌습니다.
세 가지 선정 질문 (벤치만 보지 말 것)
M1→M5를 벤치 사다리로 보면 잘못 삽니다. 인과 연쇄 각 단에서 Swap이 나왔는지 묻습니다.
| 축 | 질문 | M4에서 확인 |
|---|---|---|
| 연산 | tok/s 충분? | 16GB Swap ~34; 24GB 0 Swap ~37 |
| 메모리 | Swap 발생? | 16GB 8B 상주: Swap 1.1GB; 24GB: 0 |
| 병행 | Runner+LLM 동시? | xcodebuild+Ollama → Swap(runbook) |
세대 차이는 Swap이 언제 나타나느냐 — tok/s는 되는데 Swap이 잦으면 여전히 느립니다.
업그레이드할까: 간단한 압력 추정
실측값 입력 (1–5 척도 가능):
업그레이드 압력 ≈
( Swap 빈도 × CI 지연 영향 )
+ ( 상주 모델 수 × 모델당 메모리 )
− ( 남은 메모리 여유 )
인과 연쇄 하단 — 통합 메모리가 Swap에 묶이면 모든 층이 느려집니다.
결과 해석:
- 분명 > 0 — 24GB, CI 전 Ollama 중지, Cloud Mac으로 Runner/추론 분리.
- ≈ 0 — 유지, 숫자 기록, 몇 주 후 재측.
- < 0인데 tok/s 부족 — 순수 연산 한계. Swap 남은 채 M5만 기다리지 마세요.
16GB: Swap 1.1GB, Runner 12→19분 → 압력 > 0. M4 16GB 추가는 부족.
로컬 Mac과 Cloud Mac 분담
Cloud Mac은 원격 데스크톱이 아니라 24/7 빌드·추론 macOS 노드입니다.
| 위치 | 실행 | 대표 작업 |
|---|---|---|
| 로컬 Mac | 노트북/데스크 | 코드, 리뷰, Claude Code |
| Cloud Mac | 전용 Mac mini 24/7 | Runner, Xcode, 서명, TestFlight |
| Cloud Mac/야간 | 야간/전용 | Ollama, embedding 배치 |
AI 개발: Cloud Mac vs M5 · Cloud Mac의 Ollama
30초 자가 점검
평가할 Mac에서 실행하고 결과를 기록하세요:
# Chip and unified memory
sysctl -n machdep.cpu.brand_string
system_profiler SPHardwareDataType | grep "Memory:"
# Swap and Ollama footprint
ollama ps
memory_pressure
vm_stat | grep "Pageouts"
# Runner latency (CI log or local timer)
# xcodebuild test wall time: 12 min before swap → 19 min after (same repo)
선택 tok/s (16GB vs 24GB 글과 동일 스크립트):
python3 -m mlx_lm.generate \
--model mlx-community/Meta-Llama-3.1-8B-Instruct-4bit \
--prompt "Summarize Apple Silicon unified memory in 3 bullets." \
--max-tokens 128
# Record: tok/s, Memory Used, Swap Used
Ollama 상주 중 Pageouts 증가 + Runner >30% drift면 먼저 스케줄과 RAM.
M5를 기다릴까
M5는 아직 주류 재고가 아닙니다. 더 큰 통합 메모리 추세 — 출시 후 동일 명령으로 재측.
M5 실기 전까지 M4 tok/s/Swap/Runner로 결정. 2026–2027 M4 AI 개발은 현실적(M4 vs GPU 클라우드)
함정: 성능은 되는데 스케줄 없음
M2 16GB에서 Claude Code+Runner 후 M4 16GB로 — 야간 Ollama embedding 시 xcodebuild test 12→19분.
기억할 것
칩이 느린 게 아니라 작업이 겹쳤습니다. M4가 CI 전 Ollama를 멈춰 주지 않습니다.
24GB 또는 머신/시간 분리(병행 스케줄).
FAQ
M4 업그레이드 vs M5? Swap·Runner 먼저. 잦은 Swap → 24GB·스케줄·Cloud Mac.
Mac mini AI 개발? 7B–14B, Core ML, Agent+CI. 70B는 GPU 클라우드.
Cloud Mac vs 구매? 일상 코딩은 실기, 24/7 Runner는 Cloud Mac.