在 M4 Mac Mini 上跑本地大模型,社群裡最常爭論的不是「Ollama 還是 MLX」,而是16GB 到底夠不夠。有人剛裝好 qwen2.5:14b 覺得「能跑就好」,第三輪對話開始 swap,tok/s 從 11 跌到 3;有人咬牙上了 24GB,發現 7B 反而快到 50 tok/s——記憶體檔位選錯,比框架選錯更致命。
本文用 Macstripe Lab 三台 M4 Mac Mini(16GB / 24GB / 32GB)對 Ollama 0.6.2 與 MLX 做了配對實測,給出記憶體×用途×框架決策表、swap 斷點與七步落地清單。價格與官方起價截至 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 Pro 部署指南 |
2. 三類踩坑:為什麼記憶體比框架更重要
我們在 Lab 裡反覆看到三種「以為選對了、其實記憶體不夠」的情況:
| 踩坑類型 | 典型表現 | 實測數字 | 正確做法 |
|---|---|---|---|
| 只看 tok/s 榜單 | 網路上 14B「能跑 15 tok/s」,自己只有 3 | 16GB 上 14B:11.2 → 8.4 → 3.4 tok/s(三輪遞減) | 對照 Swapins;榜單多在 24GB 乾淨狀態測得 |
| 忽視背景占用 | 「我只跑 Ollama」,但 Chrome 30 分頁 + Xcode 索引 | 8B 乾淨 28.8 tok/s → 有 Chrome 時 20.8(剔除出 median) | 測前關分頁;或預留 4–6GB 給 OS + IDE |
| 混淆框架與記憶體 | 以為換 MLX 就能省記憶體跑 14B | 同模型 Ollama vs MLX 記憶體差 <5% | 框架差幾個百分點;檔位差一個數量級 |
一位獨立開發者的回饋很典型:「16GB 上 Claude Code + qwen2.5-coder:14b,前兩輪還行,第三輪 TTFT 從 1.9s 漲到 5.8s」——這不是模型變笨,是統一記憶體進入 swap 區。原理層見《統一記憶體與 LLM 推理》。
3. 形態:16GB / 24GB / 32GB 各自邊界
M4 Mac Mini(基礎款)提供三檔統一記憶體,GPU 均為 10 核、頻寬約 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 | ❌ | 個人輕量首選檔 |
| 24GB | ✅ 極快 | ✅ 甜點 | ⚠️ 緊張 | Agent / 程式設計推薦檔 |
| 32GB | ✅ | ✅ 大 ctx | ⚠️ Q4 可試 | 同機 CI + LLM |
若你主要場景是「本機 Claude Code + 14B」,24GB 是性價比最高的升檔點——不是線性「每多 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 雲端節點上試用一週,確認 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 上不是「慢半拍」,而是三階段崩塌:run 1 尚可 → run 2 開始 swap → run 3 memorystatus: WARN → runner OOM 被殺。
5.2 24GB:14B 進入甜點區
| 模型 | tok/s 五次 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 原始 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
完整日誌見 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 重任務 SSH 到 Macstripe 24GB 節點跑 14B——月租約 $103,比自購 24GB 機器升檔的價差更可控。租賃報價橫評見《同款 Mac mini M4 租賃報價對照》。
7. 升檔價差:記憶體多花多少錢
| 升檔路徑 | Apple 官方價差(約) | 雲租月價差(約) | 何時值得 |
|---|---|---|---|
| 16GB → 24GB | +$200(購機時選) | +約 $30–50/月 | 每週 3+ 次覺得 7B「改不對」 |
| 24GB → 32GB | +$200 | 視供應商 | 同機 Xcode CI + 14B |
| 16GB → 48GB(M4 Pro) | 換機型 | Macstripe 48GB 節點 | 團隊共享 / 32B 探索 |
ROI 粗算:若你每週因 7B 品質不足多付 2 小時人工(按 $25/h),一個月 $200——已超過 16→24GB 的官方升檔價差。記憶體升檔往往是最便宜的有效升級,比換框架或調參管用得多。
8. checklist 與七步落地
下單或裝機前,用下面清單對齊預期:
- ☐ 主要場景是聊天(7B 夠)還是 Agent 程式設計(傾向 14B)
- ☐ 是否會同時開 Chrome 20+ 分頁 + IDE
- ☐ 是否需要 Claude Code / Cursor 本地模型接入
- ☐ 執行環境選 Ollama(Agent)還是 MLX(僅壓測)
- ☐ 本機常駐 or 峰值任務上雲
- ☐ 預算覆蓋 16GB / 24GB / 32GB 哪一檔
- ☐ 有無團隊共享需求(→ 24GB+ 或雲端節點)
- ☐ 是否接受 swap 風險(16GB + 14B = 高風險)
七步落地(Ollama 路徑)
- 確認記憶體檔位與目標模型(16GB→7B;24GB→14B)
- 安裝 Ollama:
brew install ollama或官網 pkg - 拉模型:
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 官方起價(USD) | 教育優惠價(約) | Macstripe 雲租包月(USD) |
|---|---|---|---|
| M4 Mac Mini 16GB / 256GB | $599 | ~$539 | 約 $102.9 |
| M4 Mac Mini 24GB / 256GB | ~$799 | ~$719 | 約 $130–150(視節點) |
| M4 Mac Mini 32GB / 256GB | ~$999 | ~$899 | 詢價 / 定制 |
| M4 Pro 48GB(推理節點) | $1,399+ | 視配置 | 見 定價頁 |
Apple 價格為官網公開資訊,教育價需符合條件;雲租價格以 Macstripe 定價頁即時展示為準。
10. 場景收束:誰該買哪檔
| 人群 | 推薦記憶體 | 模型 + 框架 | 備選 |
|---|---|---|---|
| 學生 / 嚐鮮 | 16GB | 7B + Ollama | 雲租按天試 14B |
| 獨立開發者 + Agent | 24GB | 14B + Ollama | 本機 16GB + 雲端 24GB 混合 |
| iOS 開發 + 本地 LLM | 32GB | 14B + Xcode 同機 | CI 與推理分流兩台 |
| 小團隊推理節點 | 48GB | ollama serve 叢集 | Macstripe 48GB 節點 |
不確定 24GB 是否夠用?建議先按週租一台雲端 Mac跑真實 Agent 工作流,比看十篇 benchmark 更靠譜。Macstripe 支援 SSH/VNC 直連,約 5 分鐘開通,無長約——試完再決定是自購升檔還是長期租用。
FAQ
M4 Mac Mini 跑本地 LLM 選 16GB 還是 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 + 大上下文。Ollama 與 MLX 的記憶體占用差距可忽略,框架選型應服從場景(Agent → Ollama,壓測 → MLX)。
若你還在 16GB 上硬扛 14B,建議先讀7B vs 14B 實測對照 swap 數據,或試用 24GB 雲端 Mac跑一週真實工作流再決策。