What LLMs can an M2 or M3 Mac (16 GB) run?

An M2 or M3 Mac (16 GB) gives a model 10.7 GB usable of memory (about two thirds of unified memory is usable by the GPU) and 100 GB/s of bandwidth. Of the 61 open models tracked here, 17 fit at Q4_K_M with an 8,192-token context, each leaving at least 0.5 GB free on the M2 or M3 Mac (16 GB).

Models that fit on one M2 or M3 Mac (16 GB)

The most precise weights that still fit with 8K tokens of context and one request, the memory that takes, the longest context at that precision and the writing speed. Bigger models come first.

Model Best precision Memory Longest context Tokens/s
Gemma 4 12B 12.0B GGUF Q5_K_M 9.84 GB 28K 6.0–8.2
ZDTaichu 5.0 9B 9.8B GGUF Q6_K 9.00 GB 42K 6.6–9.0
Ornith 1.5 9B 9.7B GGUF Q6_K 8.88 GB 46K 6.7–9.1
Qwen3.5 9B 9.7B GGUF Q6_K 8.88 GB 46K 6.7–9.1
Ornith 1.0 9B 9.4B GGUF Q6_K 8.68 GB 52K 6.8–9.3
MiMo V2.6 Distill Qwen 9B 9.4B GGUF Q6_K 8.68 GB 52K 6.8–9.3
Granite 4.2 8B 8.8B GGUF Q6_K 9.26 GB 13K 6.4–8.7
LFM2.5 8B-A1B 8.5B, 1.5B active GGUF Q8_0 9.82 GB 37K 17–29
Qwen3 8B 8.2B FP8 / INT8 10.1 GB 8K 5.8–7.9
Llama 3.1 8B 8.0B FP8 / INT8 9.83 GB 10K 6.0–8.2
Gemma 4 E4B 8.0B GGUF Q8_0 9.38 GB 55K 6.3–8.6
Ling 3.0 Tiny 7.9B-A1.3B 7.9B, 1.3B active GGUF Q8_0 9.15 GB 128K (full) 20–34
Spark-X2.5 4B 4.1B FP16 / BF16 9.35 GB 29K 6.3–8.6
Nemotron 3 Nano 4B 4.0B FP16 / BF16 8.78 GB 90K 6.7–9.2
Granite 4.2 3B 3.7B FP16 / BF16 8.69 GB 25K 6.8–9.3
MiniCPM5 2B 2.5B FP16 / BF16 6.02 GB 100K 10–14
Limite 1B Violetto 1.0B FP16 / BF16 2.79 GB 128K (full) 24–33

Raising the GPU memory limit on an M2 or M3 Mac (16 GB)

macOS lets the GPU wire about 10.7 GB of this Mac's 16 GB by default. Running sudo sysctl iogpu.wired_limit_mb=12288 raises that to 12 GB, leaving 4 GB to macOS and the apps next to it, until the next restart (macOS 14 or newer; iogpu.wired_limit_mb=0 restores the default). LM Studio and Ollama pick the new limit up after a restart of the app. At 12 GB, 17 of the 61 models fit at Q4_K_M with 8K context, against 17 by default . Gemma 4 12B, the biggest model that fits already, goes from 102K to 178K of context. If macOS runs short of memory it swaps or kills apps, so close big apps first and raise the limit in steps.

Too big for M2 or M3 Mac (16 GB) at 8K context

How much memory each of these lacks at Q4_K_M (gpt-oss-20b and gpt-oss-120b at MXFP4) with 8K context, one request and 0.5 GB kept free, out of the 10.7 GB usable here; a bigger machine or a smaller quant is the way in.

Best models for M2 or M3 Mac (16 GB) with room for long context

The biggest models that still fit at Q4_K_M with 32,768 tokens of context (or their whole window, if shorter), the memory left over, the longest context the Mac takes at that precision and the writing speed with that context in the cache, from 100 GB/s of bandwidth.

ModelContextMemoryLeft overLongest contextTokens/s
Gemma 4 12B 12.0B 32K 8.98 GB 1.72 GB 102K 6.6–9.0
ZDTaichu 5.0 9B 9.8B 32K 7.67 GB 3.03 GB 105K 7.8–11
Ornith 1.5 9B 9.7B 32K 7.58 GB 3.12 GB 108K 7.9–11
Qwen3.5 9B 9.7B 32K 7.58 GB 3.12 GB 108K 7.9–11
Ornith 1.0 9B 9.4B 32K 7.43 GB 3.27 GB 112K 8.0–11

llama-server commands for an M2 or M3 Mac (16 GB)

GGUF repos checked 2026-09-29; -c is the longest context with 0.5 GB free on the M2 or M3 Mac (16 GB). No -ngl: llama.cpp’s -fit, on by default since b7440, places the layers.

Gemma 4 12B, Q4_K_M with 102K tokens: 5.8–7.9 tokens/s on the M2 or M3 Mac (16 GB)

llama-server -hf unsloth/gemma-4-12b-it-GGUF:Q4_K_M -c 104448 -np 1

gemma-4-12b-it-Q4_K_M.gguf, 7.1 GB: 10.2 GB used and 531 MB free of the M2 or M3 Mac (16 GB)'s 10.7 GB usable, 5.8–7.9 tokens/s once the 102K cache is full. -np 1: one slot, one sliding window.

Ornith 1.5 9B, Q4_K_M with 105K tokens: 5.8–8.0 tokens/s on the M2 or M3 Mac (16 GB)

llama-server -hf bartowski/Ornith-1.5-9B-GGUF:Q4_K_M -c 107520

Ornith-1.5-9B-Q4_K_M.gguf, 5.9 GB: 10.2 GB used and 548 MB free of the M2 or M3 Mac (16 GB)'s 10.7 GB usable, 5.8–8.0 tokens/s once the 105K cache is full.

Qwen3.5 9B, Q4_K_M with 108K tokens: 5.8–7.9 tokens/s on the M2 or M3 Mac (16 GB)

llama-server -hf unsloth/Qwen3.5-9B-GGUF:Q4_K_M -c 110592

Qwen3.5-9B-Q4_K_M.gguf, 5.7 GB: 10.2 GB used and 517 MB free of the M2 or M3 Mac (16 GB)'s 10.7 GB usable, 5.8–7.9 tokens/s once the 108K cache is full.

How fast the M2 or M3 Mac (16 GB) writes as the context fills

Tokens per second at Q4_K_M for the biggest models that fit with 32K tokens, with 8K and 32K tokens in the cache and at the longest context the Mac holds, and at Q8_0 with 8K where that fits. Each token reads the active weights and the whole cache once, so the speed follows the 100 GB/s of bandwidth and falls as the cache grows. The ceiling is that bandwidth divided by the bytes read per token, which no runtime reaches; the reply time is for 1,000 new tokens with 32K (or the longest context) in the cache, prompt processing aside. With the same memory, M1 Mac (16 GB), 68.25 GB/s, writes 31% slower on average; M4 Mac (16 GB), 120 GB/s, writes 20% faster on average; M5 Mac (16 GB), 153 GB/s, writes 52% faster on average; M1 Pro or M2 Pro Mac (16 GB), 200 GB/s, writes 97% faster on average.

Model8K32KLongestAt the longestQ8_0 at 8KBandwidth ceiling at 8K1,000-token reply at 32K
Gemma 4 12B 6.9–9.5 6.6–9.0 102K 5.8–7.9 Does not fit 13 111–152 s
ZDTaichu 5.0 9B 8.8–12 7.8–11 105K 5.8–7.9 Does not fit 16 94–129 s
Ornith 1.5 9B 8.9–12 7.9–11 108K 5.8–7.9 Does not fit 16 93–127 s
Qwen3.5 9B 8.9–12 7.9–11 108K 5.8–7.9 Does not fit 16 93–127 s
Ornith 1.0 9B 9.1–13 8.0–11 112K 5.8–7.9 Does not fit 17 91–125 s
MiMo V2.6 Distill Qwen 9B 9.1–13 8.0–11 112K 5.8–7.9 Does not fit 17 91–125 s
LFM2.5 8B-A1B 28–48 22–37 128,000 12–20 17–29 99 27–45 s
Llama 3.1 8B 9.1–13 6.0–8.2 34K 5.8–7.9 Does not fit 17 123–168 s
Gemma 4 E4B 11–15 10–14 128K 7.7–11 6.3–8.6 20 73–100 s
Ling 3.0 Tiny 7.9B-A1.3B 34–58 28–48 128K 17–29 20–34 119 21–35 s

M2 or M3 Mac (16 GB) against the other Macs with 10.7 GB usable

The same models fit on every Mac with 10.7 GB usable, so speed is what separates them. By bandwidth the M2 or M3 Mac (16 GB) ranks 4 of 5 at 100 GB/s. Over the 12 biggest models that fit at Q4_K_M with 8K context, the M1 Mac (16 GB), at 68.25 GB/s, writes 31% slower, the M4 Mac (16 GB), at 120 GB/s, writes 20% faster, the M5 Mac (16 GB), at 153 GB/s, writes 52% faster and the M1 Pro or M2 Pro Mac (16 GB), at 200 GB/s, writes 97% faster than the M2 or M3 Mac (16 GB). Each cell below is the other Mac's tokens per second minus this one's, midpoints of the estimated ranges.

Model M2 or M3 Mac (16 GB) tokens/s M1 Mac (16 GB)M4 Mac (16 GB)M5 Mac (16 GB)M1 Pro or M2 Pro Mac (16 GB)
Gemma 4 12B 6.9–9.5 −2.6+1.6+4.3+8.1
ZDTaichu 5.0 9B 8.8–12 −3.3+2.1+5.4+10
Ornith 1.5 9B 8.9–12 −3.3+2.1+5.5+10
Qwen3.5 9B 8.9–12 −3.3+2.1+5.5+10
Ornith 1.0 9B 9.1–13 −3.4+2.1+5.6+11
MiMo V2.6 Distill Qwen 9B 9.1–13 −3.4+2.1+5.6+11
Granite 4.2 8B 8.2–11 −3.1+1.9+5.1+9.5
LFM2.5 8B-A1B 28–48 −12+7.4+19+36
Qwen3 8B 8.8–12 −3.3+2.1+5.5+10
Llama 3.1 8B 9.1–13 −3.4+2.1+5.7+11
Gemma 4 E4B 11–15 −4.0+2.5+6.7+13
Ling 3.0 Tiny 7.9B-A1.3B 34–58 −14+8.7+23+42

Near misses on M2 or M3 Mac (16 GB)

Models that miss at Q4_K_M with 32,768 tokens of context (or their whole window), or leave under 0.5 GB free there, but fit with a shorter context or 3-bit weights, or are short by at most a quarter of the memory and fit with MoE offload. Smallest shortfall first.

ModelShort by at Q4_K_MFits instead
Qwen3 8B 8.2B Tight, 178 MB free Q4_K_M with 29K context
Granite 4.2 8B 8.8B 767 MB Q4_K_M with 24K context

How these numbers are worked out

Memory is the weights at each precision plus the KV cache for 8,192 tokens in FP16 and runtime overhead (0.5 GB plus 10%), computed from each model's files on Hugging Face with the LLM VRAM Calculator. Speed is estimated from memory bandwidth and the parameters read per token with the LLM Speed Calculator. Both tools take any other model from Hugging Face.

Nearby GPUs and setups

How many of the tracked models each one holds at Q4_K_M with 8K context, against 17 here.

SetupHow it relatesMemoryBandwidthModels at Q4_K_M
M1 Mac (16 GB) Same memory 10.7 GB usable 68.25 GB/s 17 (same)
M4 Mac (16 GB) Same memory 10.7 GB usable 120 GB/s 17 (same)
M5 Mac (16 GB) Same memory 10.7 GB usable 153 GB/s 17 (same)
M1 Pro or M2 Pro Mac (16 GB) Same memory 10.7 GB usable 200 GB/s 17 (same)
M2 or M3 Mac (8 GB) Next size down 5.3 GB usable 100 GB/s 5 (−12)
M3 Pro Mac (18 GB) Next size up 12 GB usable 150 GB/s 17 (same)

Model numbers read from Hugging Face on .