M4 Mac mini Ollama performance benchmark: 7B / 14B tok/s + swap impact

AI Notes  ·  2026.06.06  ·  ~10 min read

M4 Mac mini Ollama benchmark: 7B and 14B tok/s with unified memory swap

Is Ollama fast enough on M4 Mac mini?

Running Ollama locally on M4 Mac mini is usually not limited by “too little GPU”—it is limited by whether unified memory triggers swap. At 7B, most dev desktops feel fine; at 14B, or with Chrome, VS Code, and a CI runner online, once Apple Silicon unified memory fills and swap starts, generation slows sharply. This is the performance spoke in our M4/M5 cluster (qwen3:8b / qwen3:14b · Ollama · realistic background load).

Benchmark headline numbers

M4 Mac mini Ollama benchmark

7B (qwen3:8b)

  • 16GB: 34 tok/s (1.1GB swap)
  • 24GB: 37 tok/s (no swap)

14B (qwen3:14b)

  • 16GB: swap >2GB → clear slowdown
  • 24GB: stable (≈ 7B-class feel)

Bottom line: in our 7B / 14B tests, M4 Ollama is memory-bound before it is compute-bound—swap shows up before the chip “runs out of speed.”

Benchmark table (core data)

ModelRAMtok/sSwapStatusTakeaway
7B16GB341.1GBOKLight swap drag
7B24GB370StableBest case
14B16GBSharp drop>2GBUnstableMemory wall
14B24GB~370StableNear 7B feel

Setup: Mac mini M4 · macOS 15.x · latest Ollama · background Chrome + VS Code + Slack. tok/s measured after a 512-token prompt, model warm ~2 min. Numbers are from Ollama; llama.cpp benches differ in absolute tok/s but swap behavior feels the same.

Real-world use (matters more than the table)

① 7B: daily driver territory

Code completion, chat, summaries, a lightweight local assistant—most teams live here. 16GB works; 24GB is calmer.

② 14B: RAM starts calling the shots

You feel it before the spreadsheet does: slower tokens, jittery streaming, worse latency with other apps open. On 16GB, swap makes “sluggish” show up early.

③ Multitasking is the real divider

One afternoon we kept qwen3:8b loaded while a local GitHub Actions xcodebuild ran on a 16GB box: swap climbed from 0 to 1.8GB and the same prompt fell from 34 to 29 tok/s, stuttering token by token—not a bad model, just CI and inference sharing one memory pool.

Another edge case: after ~two hours on 14B, Memory Pressure drifted green→yellow even without new tabs—fragmentation eating headroom, tok/s variance wider than a cold boot. Scheduling ideas: Memory / Swap runbook.

Swap mechanism (why rankings hinge on this section)

On Apple Silicon, local LLM pain often lands here—not on Neural Engine core counts:

  1. Unified memory fills
  2. macOS reclaims inactive pages
  3. Swap writes to SSD
  4. IO latency rises
  5. tok/s drops (~5–15%)

macOS moves inactive pages to SSD under pressure. Swap rarely crashes the machine, but IO latency makes generation feel obviously slower. That 34→29 tok/s CI story is this chain on a real desk—the first variable we re-check on our M4 Mac mini.

M3 vs M4 vs M2 (cross-generation context)

People searching “M4 Ollama” often mean: is a new chip worth it? Same RAM, same models—community benches plus our reruns suggest:

7B trend (directional, not gospel)

  • M2 → baseline
  • M3 → ~+10–15% tok/s
  • M4 → ~+15–25%, but often smaller than jumping 16GB→24GB on 7B

What actually moves the needle?

  • M2 / M3 / M4 all run 7B; a new badge does not erase 14B memory pressure
  • M4 vs M3 on 7B is modest; 14B stability tracks unified memory bandwidth and swap more than a compute leap
  • For buying advice, 16GB vs 24GB usually beats “M3 or M4?” for daily Ollama

Takeaway: for local Ollama it is usually a RAM configuration question, not a generation war. Upgrade framing: M4/M5 hub.

16GB vs 24GB—which should you buy?

16GB fits

  • Mostly 7B, occasional local inference
  • Cloud Mac or CI offloads peaks

Vibe: good enough, sometimes spiky. For a week-long buyer diary, see 16GB vs 24GB field notes (conversion story)—this page keeps benchmark facts only.

24GB fits

  • Daily 14B, CI + LLM overlap, stable tok/s

Vibe: steady production.

One-liner: 7B → 16GB is fine; 14B → plan on 24GB.

Cloud Mac validation

Before you buy metal, rerun the same Ollama script on Cloud Mac: does swap appear? does 14B hold? can CI + inference coexist? Think of it as a pre-purchase stress test for 16GB vs 24GB—not a marketing slide.

→ Reproduce the benchmark on Cloud Mac · M4/M5 hub · GitHub Runner

Common search questions

Q: M4 Mac mini Ollama speed?
A: 7B ≈ 34–37 tok/s; swap is the swing factor (headline numbers).

Q: Can M4 run 14B model?
A: Yes—16GB is rough; 24GB is the practical tier.

Q: M4 vs M3 Ollama performance?
A: Small 7B uplift; 14B stability is about RAM and swap.

Q: Does Swap affect LLM performance?
A: Yes—often 5–15% tok/s once swap is active.

Q: 16GB vs 24GB for AI?
A: 16GB for 7B; 24GB for 14B or heavy multitask.

Closing thought

On M4 Mac mini, Ollama is usually fast enough on compute—RAM and swap decide how it feels.

Cluster page roles (avoid duplicate intent)

We split M4 Ollama content by job—search engines should rank one primary benchmark URL per locale; siblings link in, not compete:

PageRoleNotes
This articlePrimary SEO pageMain benchmark narrative · canonical for this locale
m4-ollama-benchmark-specSSOT / definitions📅 6/20 · metrics & reproduce spec (not the story page)
16GB vs 24GB diaryConversion narrativeWeek-long buy story · cites headline numbers here
Memory / SwapMechanism / runbookScheduling · no duplicate tok/s table

Reproduce (appendix)

Same background load as the table (full spec 📅 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

Log Memory Used · Swap · tok/s · Memory Pressure. For 14B use qwen3:14b.

ZavCloud

Reproduce this Ollama benchmark on Cloud Mac

Stress-test 16GB vs 24GB with real swap and tok/s before you commit to hardware.

View Cloud Mac plans
Cloud MacRent Mac mini online