Home › Mac
Local LLMs on a Mac: which Mac runs what
“Unified memory” is the whole budget on an Apple-silicon Mac: MLX’s docs put it plainly — “Apple silicon has a unified memory architecture. The CPU and GPU have direct access to the same memory pool”[3] — and the operating system spends from that pool first. Four machines have pages here, one per machine, each quoted from Apple’s own spec sheet.
Spec check date: 2026-10-23 — memory configurations are quoted from Apple’s own tech-spec pages fetched that day; runtime statements come from each project’s docs fetched the same day (links at the bottom). Where a vendor is silent the page says so instead of guessing.
The four Macs we have pages for
| Machine (open its page) | What Apple lists for it | Our usable budget | Dataset models that fit |
|---|---|---|---|
| Mac mini (M4, 2024) · 16GB | “Apple M4 chip · 16GB unified memory · Configurable to: 24GB or 32GB” (spec-sheet line breaks shown as ·)[1] | 10.7 GiB | 11 of 46 |
| Mac mini (M4, 2024) · 24GB | “Apple M4 chip · 16GB unified memory · Configurable to: 24GB or 32GB” (spec-sheet line breaks shown as ·)[1] | 16.0 GiB | 20 of 46 |
| Mac mini (M4 Pro, 2024) · 48GB | “Apple M4 Pro chip · 24GB unified memory · Configurable to: 48GB or 64GB” (spec-sheet line breaks shown as ·)[1] | 36.0 GiB | 26 of 46 |
| MacBook Pro (14-inch, M4, 2024) · 16GB | “16GB or 24GB unified memory · Configurable to: 24GB or 32GB” (spec-sheet line breaks shown as ·)[2] | 10.7 GiB | 11 of 46 |
Fit counts: modelvram.com open dataset (CC BY 4.0 / MIT, retrieved 2026-10-20), each model at its best sensible quant, 8k context — the same arithmetic each machine page prints row by row. The budget column is our heuristic, not an Apple figure, for the reason given in the next section and on the method page.
Why the budget is smaller than the box
Apple documents the mechanism, not the number: Metal’s recommendedMaxWorkingSetSize says “keep the total memory
footprint of its resources and heaps less than this threshold”[4] and never states the threshold
(no public data (we checked, 2026-10-23)). So we use our own labelled rule rather than borrow a blog’s figure: two thirds up to 36GB, three quarters above —
conservative on purpose, because the OS, the display and your browser spend from that pool too. Your machine can disagree:
sysctl iogpu.wired_limit_mb.
What the four runtimes say about Apple silicon
One sentence each, quoted from docs fetched 2026-10-23 in full on the compare pages: Ollama, llama.cpp and LM Studio all document an Apple path (Metal / Metal by default / llama.cpp-or-MLX); vLLM routes Apple Silicon to the community-maintained vLLM-Metal plugin. The grid with every sentence linked to its docs line: the four runtimes in one 8-row table. Pairwise: Ollama vs llama.cpp · Ollama vs LM Studio · Ollama vs vLLM · vLLM vs llama.cpp.
Making the decision
- Model first, machine second. The GiB bill is weights at your quant plus KV cache at your context; the calculator computes it for 46 models and the machine pages list what fits.
- Context is the hidden upgrade cost. Each extra 1k tokens adds KV cache on top of weights; the tables are written at 8k.
- “It does not fit” is a price question. If the model you want needs more pool than a Mac gives, that is a rent-vs-buy comparison, not a verdict: budget builds · cloud GPU compares · Mac-vs-card: RTX 5090 vs Mac 64GB · RTX 4090 vs Mac 128GB · Mac 64GB vs A100 80GB.
FAQ
Which Mac should I buy for local LLMs?
No ranking here, because the constraint is arithmetic, not taste: a model needs its weights at your quantisation plus a KV cache at your context, paid out of the same pool the OS lives in. So: pick the model, read what it needs on the calculator, then pick the machine whose budget clears that number — the table above is that comparison for the four machines we could quote Apple on (Mac mini M4 16GB · Mac mini M4 24GB · Mac mini M4 Pro 48GB · MacBook Pro M4 16GB).
Is 16GB of unified memory enough for a local LLM?
For some models, yes: each 16GB page lists the dataset models that fit our usable-memory budget, and its near-miss table shows in GiB how far short the next tier falls. What 16GB is not enough for is the big quantised models — the same arithmetic with a bigger number in it.
Why are the budgets smaller than the memory Apple lists?
Because Apple publishes no GPU-usable figure for any Mac — no public data (we checked, 2026-10-23). Metal names the mechanism and withholds the per-device threshold, so the budgets above are our own rule (two thirds up to 36GB, three quarters above), labelled as ours, as the method page states. Check yours: sysctl iogpu.wired_limit_mb.
Why is there no MacBook Air page here?
Because we could not quote it: three attempts to fetch Apple’s tech-spec page for the M4 Air on 2026-10-23 all came back 404. A machine page whose memory line we cannot cite would be guesses wearing a citation. People do search that machine by model and gigabyte, so the demand is logged; the page is not. No quotable spec sheet, no page.
Sources for this page
- Apple Support — Mac mini (2024) Tech Specs — fetched 2026-10-23
- Apple Support — MacBook Pro (14-inch, M4, 2024) Tech Specs — fetched 2026-10-23
- MLX docs — Unified Memory — fetched 2026-10-23
- Apple Developer — MTLDevice.recommendedMaxWorkingSetSize — fetched 2026-10-23
No tokens/s figures anywhere on these pages: no runtime publishes an Apple-silicon throughput table we could verify, so we print the arithmetic that is decidable and leave the speed you have to measure yourself blank. Machine pages, one per configuration: Mac mini M4 16GB · Mac mini M4 24GB · Mac mini M4 Pro 48GB · MacBook Pro M4 16GB. Every page here quotes a source and a check date; where a vendor is silent we print “no public data” instead of guessing — here too.