ClydeCLI

Local models on an 18 GB Mac — what actually runs

Research note, 2026-10-12. Machine: Apple M3 Pro, 18 GB. Runtime versions as of that date. Measured, not estimated.

The headline

A Mixture-of-Experts model of about 12 GB does not run in about 5 GB of usable memory at a usable speed on this class of machine. A dense 8B does.

Measurements

ModelRuntimeResidentSpeedVerdict
gpt-oss-20b MXFP4 (12.1 GB GGUF)LM Studio10.9 GB, swap 1.9 → 5.3 GB3.0 then 0.7 tok/sunusable
same file, llama-server --cpu-moe --load-mode mmapllama.cpp9.8 GB physical (11.4 GB mapped)1–2 tok/s prompt processing, no reply in 10+ minunusable
deepseek-r1-0528-qwen3-8b-mlx (dense, 4.3 GiB)LM Studioas loaded26–27 tok/sgood

Why mmap saved nothing: with MoE, every token routes through different experts, so lazy loading defeats itself — the whole mapped file gets touched.

Arithmetic, not measured: 3-bit of a 20B is about 9 GB; 2-bit about 5 GB.

What this implies for a 16 GB machine

The 16 GB class (e.g. a MacBook Air) has a smaller budget than the 18 GB machine above, so the usable class is dense models of 8B and below, ideally at 4-bit or 8-bit. /models local encodes this as its memory budget (about two thirds of RAM up to 36 GB, three quarters above or elsewhere, minus what's in use) and its relax / balance / hard ratings; this note is the measurement behind the "hard" rating meaning what it says.

Rejected alternatives for this machine: ds4 (96 GB+ Macs), vLLM (GPU servers, no real Apple GPU path).

Edit this page on GitHub