M4 Mac mini 跑 Ollama 夠快嗎?
在 M4 Mac mini 上跑 Ollama,日常瓶頸通常不是算力不夠,而是記憶體是否觸發 Swap。7B 多半夠用;升到 14B 或同時開 Chrome、VS Code、CI runner 時,Apple Silicon 統一記憶體一滿、開始換頁,生成速度就會明顯掉下來。本篇是 M4/M5 內容叢集 的 Performance 實測(qwen3:8b / qwen3:14b · 非裸機背景負載)。
實測核心結論
M4 Mac mini Ollama benchmark
7B(qwen3:8b)
- 16GB:34 tok/s(Swap 1.1GB)
- 24GB:37 tok/s(無 Swap)
14B(qwen3:14b)
- 16GB:Swap >2GB → 明顯降速
- 24GB:穩定運行(≈ 7B 體驗)
一句話:在我們測過的 7B / 14B 條件下,M4 跑 Ollama 更常卡在記憶體壓力(Swap),而不是晶片算力。
Benchmark 對照表(核心數據)
| Model | RAM | tok/s | Swap | 狀態 | 解讀 |
|---|---|---|---|---|---|
| 7B | 16GB | 34 | 1.1GB | 可用 | 輕度 Swap 影響 |
| 7B | 24GB | 37 | 0 | 穩定 | 最佳狀態 |
| 14B | 16GB | 明顯下降 | >2GB | 不穩定 | 記憶體瓶頸 |
| 14B | 24GB | ~37 | 0 | 穩定 | 接近 7B 體驗 |
環境:Mac mini M4 · macOS 15.x · Ollama latest · 背景 Chrome + VS Code + Slack。tok/s 為 512 token 提示、模型 loaded 2 min 後採樣。數字來自 Ollama;llama.cpp 絕對值會不同,但 Swap 體感規律一致。
實際體驗(比表格更重要)
① 7B:日常完全夠用
程式補全、chat、摘要、輕量本地助手——多數開發者停在這一檔。16GB 可用,24GB 更穩。
② 14B:開始由記憶體決定體驗
體感往往比數字更早:輸出變慢、生成抖動、多工延遲上升。16GB 頻繁 Swap 時會先覺得「卡」。
③ 多工才是真正分水嶺
我們曾在 16GB 上同時跑 qwen3:8b 與本地 xcodebuild:Swap 從 0 爬到 1.8GB,同一條 prompt 的 tok/s 從 34 掉到 29,生成一頓一頓——不是模型壞了,是 CI 與推理在搶同一塊 unified memory。
另一次 edge case:14B 連續跑約兩小時後,即使沒開新分頁,Memory Pressure 也會從綠變黃——像是碎片化吃掉 headroom。排班見 Memory / Swap 專題。
Swap 機制(排名關鍵段)
在 Apple Silicon 上,本地 LLM 的痛點常在這裡——而不是 Neural Engine 核心數:
- unified memory 被占滿
- macOS 回收 inactive pages
- 觸發 Swap(寫入 SSD)
- IO 延遲上升
- tok/s 下降(約 5–15%)
壓力上升時 macOS 會把 inactive memory swap 到 SSD。通常不會當機,但 IO 延遲會讓生成明顯變慢。上面 CI 併發 34→29 tok/s 就是這條鏈在真實桌面的樣子。
M3 vs M4 vs M2(跨代對比)
搜「M4 Ollama」的人常在想:換一代晶片值不值? 同記憶體、同模型下的大致趨勢:
7B 差異(趨勢,非絕對值)
- M2 → baseline
- M3 → 約 +10–15% tok/s
- M4 → 約 +15–25%,但常不如 16GB→24GB 明顯
真正拉開體驗的是什麼?
- M2/M3/M4 都能跑 7B;換代不會自動解決 14B 記憶體壓力
- M4 相對 M3 在 7B 上提升有限;14B 穩定性更看 unified memory 頻寬與 Swap
- 選購時 16GB vs 24GB 往往比「M3 還是 M4」更影響日常 Ollama
結論:本地 Ollama 通常是記憶體配置問題,不是代際戰爭。見 M4/M5 Hub。
16GB vs 24GB 怎麼選?
16GB 適合
- 主要 7B、偶爾本地推理
- 有 Cloud Mac / CI 分擔峰值
特點:夠用但有波動。購買故事見 16GB vs 24GB 選購手記(轉化敘事)——本篇只保留效能主文。
24GB 適合
- 常用 14B、CI + LLM 並行、要穩定 tok/s
特點:生產力穩定。
一句話:7B 用 16GB 足夠;14B 建議 24GB。
Cloud Mac 驗證方案
買實體機前可在 Cloud Mac 重跑同一套 benchmark,看 Swap、14B 穩定性、CI + inference 併發——採購前壓力測試。
常見搜尋問題
Q: M4 Mac mini Ollama speed?
A: 7B ≈ 34–37 tok/s;Swap 是主變量(見 核心結論)。
Q: Can M4 run 14B model?
A: 可以;16GB 不穩,建議 24GB。
Q: M4 vs M3 Ollama performance?
A: 7B 代際提升有限;14B 看記憶體與 Swap。
Q: Does Swap affect LLM performance?
A: 會,約 5–15% tok/s。
Q: 16GB vs 24GB for AI?
A: 7B 用 16GB;14B / 多工推薦 24GB。
最終總結
M4 Mac mini 跑 Ollama:算力夠用,記憶體與 Swap 更決定體驗。
本叢集頁面分工(避免重複意圖競爭)
M4 Ollama 內容按角色拆分——每個語系應有一篇主排名頁,其餘用內鏈標明從屬:
| 頁面 | 角色 | 說明 |
|---|---|---|
| 本篇 | Primary SEO Page | 效能實測主文 · 本語系 canonical |
m4-ollama-benchmark-spec | SSOT / 數據定義 | 📅 6/20 · 指標與復現規範 |
| 16GB vs 24GB 手記 | 轉化 / 決策敘事 | 一週對照 · 數字引用 核心結論 |
| Memory / Swap | 機制 / runbook | 排班 · 不重複 tok/s 表 |
復現腳本(附錄)
相同背景負載復現上表(完整定義 📅 m4-ollama-benchmark-spec):
ollama pull qwen3:8b && ollama run qwen3:8b ""
memory_pressure
ollama run qwen3:8b \
"Write 512 tokens about Apple Silicon unified memory." \
--verbose 2>&1 | tee /tmp/ollama-bench.log
記錄 Memory Used · Swap · tok/s · Memory Pressure。14B 換 qwen3:14b。
