Sizing the Local Desk: A Practical RAM × Model Matrix for 16 GB Mac Minis Running Ollama
Affiliate disclosure: Some links are affiliate links. As an Amazon Associate I earn from qualifying purchases. See Disclosure. AI-assisted drafting runs on a local Ollama desk; a human still gates claims before public ship.
This post may contain affiliate links. As an independent local AI writing desk, I disclose that I may earn a commission if you purchase hardware or software through these links, at no extra cost to you. Technical notes below are operator estimates from a 16 GB Apple silicon Mac mini desk (Ollama + Hugo), not lab benchmarks. Running local models has privacy and stability trade-offs you should treat as your own risk.
On a 16 GB Mac mini, loading a mid-size Ollama model while Hugo is mid-build often leaves little contiguous unified memory for macOS. This post is a practical RAM × model matrix for Qwen-class 4B / 9B GGUF Q4 variants — what tends to stay stable, what needs other apps stopped, and what is a no-go.
Related desk notes: Best Mac mini for local LLMs, llama.cpp quant choices on 16 GB, Quiet desk checklist (16 GB), Building a quiet local AI desk stack, Open WebUI beside Ollama.
Sizing the Local Desk: A Practical RAM × Model Matrix for 16 GB Mac Minis Running Ollama
The Memory Budget Reality
Do not assume “16 GB” means 16 GB of usable memory for inference. On Apple silicon, macOS plus kernel buffers and background services commonly sit in a multi-gigabyte baseline — often roughly 2–3 GB idle on a quiet desk, sometimes more after a day of apps. A Hugo --minify build can add hundreds of megabytes to about 1 GB depending on theme and parallel work. After that, headroom for the LLM often lands nearer 11–12 GB of usable unified memory, not 16. Models whose weights + KV cache push past that band risk jetsam kills or heavy swap, which destroys tokens/sec.
Editorial runners worth knowing: /go/ollama/, /go/llama-cpp/, /go/apple-silicon/.
The Qwen Selection Strategy
Quant choice matters as much as parameter count: GGUF file size is not identical to runtime RSS, and context length inflates the KV cache on top of weights. On this desk, the Qwen-class 4B family (for example the local qwen3.5:4b tag) usually keeps the widest safety margin — still workable when you raise num_ctx carefully. ~9B class tags (for example qwen3.5:9b) can load, but they often push memory pressure up once Hugo or a browser UI is also warm. Newer 3.5-line tags can be more capable per parameter, yet their weight files are still multi-gigabyte; treat each tag as its own footprint, not a free upgrade.
The Operator Table
The matrix below is an operator estimate for a 16 GB unified-memory Mac mini (M1 / M2 / M4 generations — there is no M3 Mac mini). Figures blend typical Q4 GGUF sizes with a ~2.5 GB allowance for macOS + light desk tools. Confirm on your machine with ollama ps and Activity Monitor; do not treat the numbers as published benchmarks.
| Model class (Ollama-style) | GGUF / pull size (approx.) | Est. runtime RSS | Verdict on 16 GB desk |
|---|---|---|---|
| Qwen-class 4B Q4_K_M | ~2.5–3.5 GB | ~3.5–4.5 GB | Go — usual daily driver; room for light apps |
| Qwen-class 4B Q4_K_S / leaner Q4 | ~2–3 GB | ~3–4 GB | Go — safest when multitasking |
| Qwen-class ~9B Q4_K_M | ~5–7 GB | ~6–8 GB | Caution — stop heavy builds / second UIs first |
| Qwen-class ~9B Q4_0 / smaller Q4 | ~4.5–6 GB | ~5.5–7 GB | Caution — may load; large num_ctx is the OOM trigger |
| Larger 3.5-line / 14B-class Q4_K_M | ~8–12 GB+ | often >11 GB | No-Go for 16 GB with other work — expect swap or jetsam |
Estimates only. File size ≠ RSS; KV cache scales with context. Re-check after Ollama or macOS updates.
Context vs. Capacity Trade-offs
Larger context windows (32k / 128k class) grow the KV cache and eat the same unified pool as the weights. On 16 GB, a small 4B with a huge num_ctx can pressure memory as hard as a heavier model with a short context. If long-document work matters, cut num_ctx before you chase a bigger parameter count. Balance model size against context utility without exhausting unified memory.
Troubleshooting Memory Pressure
If Ollama errors on load or the Mac goes sticky, act before swap snowballs. Run ollama ps to see which model is resident, then stop it. In Activity Monitor, watch the Memory Pressure chart — yellow/red means aggressive compression/swap; reduce load. Practical levers: leaner quant (Q3/Q4_K_S), lower num_ctx, quit Hugo or browser UIs until generation finishes. Prefer one resident model at a time on 16 GB.
Conclusion and Next Steps
Operating a local AI stack on a 16 GB Mac mini is a budgeting problem, not a heroics problem. Stay inside the Go / Caution rows above, confirm with ollama ps, and only then widen context. Apple soldered unified memory on these minis — more RAM means buying a higher factory config (32 GB / 64 GB class), not a later upgrade. For hardware shopping and dock/SSD offload options already on the allow-list:
- Mac mini M4 32 GB search (affiliate stub — confirm ASIN before heavy spend)
- UGREEN Mac mini dock + NVMe (affiliate) — parks model libraries off the internal SSD
- Samsung T7 Shield (affiliate) — portable offload when a full dock is overkill
- Free desk checklist: /go/checklist/
Disclosure: as an Amazon Associate I earn from qualifying purchases. See /disclosure/.