Apple Silicon 正從「個人電腦」變成「可排程的 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 Workload 如何壓垮統一記憶體
xcodebuild burst · +4–8GB
正常路徑(有排班 / 拆節點)
- 人 → IDE 寫程式
- Runner 在 Cloud Mac 跑 CI
- Ollama 夜間或另一台機器
- 記憶體有餘量 → OK
退化路徑(三層同時在線)
- LLM 常駐 ↑
- Runner burst ↑
- 記憶體占用 ↑
- Swap ↑
- CI 變慢 · 生成掉速
核心論點:效能問題往往是記憶體調度問題,不是算力問題——每一環都在往同一個池子倒水。
下面三個選型問題,其實都是在測這條鏈是否已經開始進入 Swap 狀態。
依你的問題選文章
本篇講怎麼選。已有具體疑問可直接跳轉:
| 你在問什麼 | 建議閱讀 |
|---|---|
| M4/M5 generational change, upgrade timing, workload split | This post |
| How fast is Ollama 7B/14B? How much does swap hurt tok/s? | M4 Mac mini Ollama benchmark · 16GB vs 24GB |
| Ollama + Runner together feel sluggish—how to schedule? | AI workload scheduling runbook |
| Rent Cloud Mac to validate, or wait for M5 / buy hardware? | Cloud Mac vs waiting for M5 · Cloud Mac vs local Mac |
M4 變了什麼:不是更快的 Mac,而是能長期跑 AI 任務的節點
M4 不是「CPU 又快了一點」,而是預設開發環境就能長期跑本地推理的 Mac mini。 神經引擎約 38 TOPS,與 CPU/GPU 共享統一記憶體——Chrome + VS Code + 常駐 qwen3:8b 已是日常(見 16GB vs 24GB 實測)。
系統也可驗證:memory_pressure、Activity Monitor 的 Swap 曲線、Ollama footprint——回答的是同一台機器能否同時扛 CI 峰值與 LLM 常駐。
對工程師,實用問題已從「IDE 卡不卡」變成三項可測指標:Ollama tok/s、是否 Swap、CI wall time 是否漂移。
三個選型問題(別只看跑分)
把 M1→M5 當跑分迭代會買錯機器。下列問題對應 因果鏈——每條都在問:Swap 是否已出現。
| 看什麼 | 你要回答的問題 | M4 上怎麼驗 |
|---|---|---|
| 算力 | tok/s 是否夠用? | 16GB Swap 時 ~34 tok/s;24GB 零 Swap ~37 tok/s |
| 記憶體 | 是否觸發 Swap? | 16GB 常駐 8B:Swap 1.1GB、壓力黃;24GB:Swap 0、壓力綠 |
| 並行 | Runner 和 LLM 能同時跑嗎? | xcodebuild burst +4–8GB;與 Ollama 疊加即 Swap(見 排班 runbook) |
代際差異本質是「Swap 何時出現」,不是抽象意義上的變快。算力夠但 Swap 頻繁,體感仍像機器變慢;記憶體夠、調度合理,同代晶片也能當穩定 AI 節點。
要不要升級:簡單估算式
把下面四項依實測填入(頻率、影響用 1–5 粗估即可):
升級壓力 ≈
( Swap 出現有多頻繁 × 對 CI 變慢的影響 )
+ ( 同時常駐幾個模型 × 每個占多少記憶體 )
− ( 目前還剩多少記憶體餘量 )
這句話在說什麼:式子測的是 因果鏈 底部——統一記憶體一旦被 Swap 占滿,上面每一環都會變慢。
怎麼讀結果:
- 明顯 > 0 — 優先加餘量:升 24GB、CI 前停 Ollama,或加 Cloud Mac 拆 Runner 與推理。
- 接近 0 — 維持現狀,記錄數字,隔幾週再測。
- < 0 但 tok/s 仍不夠 — 更像純算力瓶頸,可觀察 M5;別在 Swap 未消除時以為等下一代就好。
對照本站實測:16GB Swap 1.1GB、Runner 12→19 分鐘 → 壓力明顯 > 0,同檔再買 M4 16GB 不夠,需 24GB 或排班。
本機 Mac 與 Cloud Mac 怎麼分工
Cloud Mac 不是遠端桌面,而是專跑 24/7 建置與推理的 macOS 節點。 對照 因果鏈右側「正常路徑」:
| 放哪 | 跑什麼 | 典型任務 |
|---|---|---|
| 本機 Mac | 筆電 / 桌面 | 寫程式、Review、Claude Code |
| Cloud Mac | 獨享 Mac mini,24/7 | GitHub Runner、Xcode 建置、簽名、TestFlight |
| Cloud Mac 或錯峰 | 夜間 / 專用節點 | Ollama / MLX 推理、embedding 批處理 |
本機負責「人在迴路內」,雲端負責「合蓋後仍在跑」。租用與採購:Mac mini AI 開發:Cloud Mac vs 等 M5;Ollama 長期服務:Ollama 在 Cloud Mac 上的定位。
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
若 Pageouts 在 Ollama 常駐期間持續增加,且 Runner wall time 漂移 >30%,先查調度與記憶體檔,再查晶片代際。
M5 值得等嗎
M5 尚未成為主流現貨,不宜當「買了就一勞永逸」。更現實的判斷:產業往更大統一記憶體、更高頻寬走,可能讓 Swap 出現得更晚——但仍要以上市後同一套命令複測為準。
在 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 分鐘——記憶體壓力黃條 + 持續 Swap,CPU 並不高。
記住這句
問題往往不是晶片不夠快,而是任務沒排班。 換 M4 不會自動在 CI 前停 Ollama,也不會憑空多出記憶體。
解法:升 24GB,或把 Ollama 與 Runner 拆到不同機器 / 錯峰(並行排班一文)。
常見問題
該升級 M4 還是等 M5? 先看 Swap 和 Runner。經常 Swap 或 CI 漂移 → 24GB、排班或 Cloud Mac;Swap 為零但生成仍慢 → 再觀察 M5。別用 Geekbench 代替實測。
Mac mini 適合 AI 開發嗎? 適合 7B–14B 本地推理、Core ML、Agent + CI。70B 級訓練仍應選 GPU 雲。
Cloud Mac 和買實體機怎麼選? 實體機適合日常寫程式;Cloud Mac 適合 24/7 Runner、夜間批推理,以及「先跑通流水線再決定買哪檔記憶體」。
ZavCloud
先測 Swap 和 CI 耗時,再決定升配或租用
獨享 Mac mini M4、原生 macOS、靜態 IPv4——在本機或雲端用同一套命令跑完自檢,再下單實體機或按日租用。
查看 Cloud Mac 方案