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

An M2 or M3 Mac (24 GB) gives a model 16 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, 18 fit at Q4_K_M with an 8,192-token context, and 12 more at a lower precision, each leaving at least 0.5 GB free on the M2 or M3 Mac (24 GB).

Models that fit on one M2 or M3 Mac (24 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. gpt-oss-20b (14.8 GB, 11–19 tokens/s on the M2 or M3 Mac (24 GB)) is listed at MXFP4 only, as published.

Model Best precision Memory Longest context Tokens/s
LLM-jp-4.1 32B-A3B Thinking 32.1B, 3.8B active GGUF Q2_K 14.8 GB 17K 14–23
Nemotron 3 Nano 30B-A3B 31.6B, 3.5B active GGUF Q2_K 14.1 GB 225K 19–32
GLM-4.7 Flash 31.2B, 3B active GGUF Q2_K 14.3 GB 28K 17–29
Xing 4.0 29B-A4B 31.2B, 4B active GGUF Q2_K 14.3 GB 33K 14–24
Qwen3-Coder 30B-A3B 30.5B, 3.3B active GGUF Q2_K 14.4 GB 18K 13–23
Qwen3 30B-A3B 30.5B, 3.3B active GGUF Q2_K 14.4 GB 18K 13–23
Muse Glimmer 30B 29.8B GGUF Q2_K 13.5 GB 128K (full) 4.3–5.9
Granite 4.2 30B 29.3B GGUF Q2_K 15.3 GB 8K 3.8–5.2
Qwen3.6 27B 27.8B GGUF Q3_K_M 15.0 GB 15K 3.9–5.3
Qwen3.8 27B 27.8B GGUF Q3_K_M 15.0 GB 15K 3.9–5.3
Hemmingway-1 27B 27.3B GGUF Q3_K_M 14.7 GB 19K 3.9–5.4
Gemma 4 26B-A4B 25.8B, 4B active GGUF Q3_K_M 13.9 GB 81K 12–20
gpt-oss-20b 20.9B, 3.6B active As published (MXFP4) 14.8 GB 34K 11–19
Gemma 4 12B 12.0B GGUF Q8_0 14.2 GB 85K 4.1–5.6
ZDTaichu 5.0 9B 9.8B GGUF Q8_0 11.4 GB 126K 5.1–7.0
Ornith 1.5 9B 9.7B GGUF Q8_0 11.3 GB 130K 5.2–7.1
Qwen3.5 9B 9.7B GGUF Q8_0 11.3 GB 130K 5.2–7.1
Ornith 1.0 9B 9.4B GGUF Q8_0 11.0 GB 138K 5.3–7.3
MiMo V2.6 Distill Qwen 9B 9.4B GGUF Q8_0 11.0 GB 138K 5.3–7.3
Granite 4.2 8B 8.8B GGUF Q8_0 11.4 GB 31K 5.1–7.0
LFM2.5 8B-A1B 8.5B, 1.5B active GGUF Q8_0 9.82 GB 128,000 (full) 17–29
Qwen3 8B 8.2B GGUF Q8_0 10.7 GB 39K 5.5–7.5
Llama 3.1 8B 8.0B GGUF Q8_0 10.3 GB 45K 5.7–7.8
Gemma 4 E4B 8.0B GGUF Q8_0 9.38 GB 128K (full) 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 166K 6.3–8.6
Nemotron 3 Nano 4B 4.0B FP16 / BF16 8.78 GB 256K (full) 6.7–9.2
Granite 4.2 3B 3.7B FP16 / BF16 8.69 GB 87K 6.8–9.3
MiniCPM5 2B 2.5B FP16 / BF16 6.02 GB 128K (full) 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 (24 GB)

macOS lets the GPU wire about 16 GB of this Mac's 24 GB by default. Running sudo sysctl iogpu.wired_limit_mb=20480 raises that to 20 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 20 GB, 23 of the 61 models fit at Q4_K_M with 8K context, against 18 by default : Gemma 4 26B-A4B (10–17 tokens/s), Hemmingway-1 27B (3.2–4.4 tokens/s), Qwen3.6 27B (3.2–4.3 tokens/s), Qwen3.8 27B (3.2–4.3 tokens/s) and Muse Glimmer 30B (3.0–4.1 tokens/s) join the list. gpt-oss-20b, the biggest model that fits already, goes from 34K to 128K 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 (24 GB) at 8K context

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

Best models for M2 or M3 Mac (24 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. gpt-oss-20b is at MXFP4, as published.

ModelContextMemoryLeft overLongest contextTokens/s
gpt-oss-20b 20.9B, MXFP4 32K 15.4 GB 571 MB 34K 9.3–16
Gemma 4 12B 12.0B 32K 8.98 GB 7.02 GB 256K (full) 6.6–9.0
ZDTaichu 5.0 9B 9.8B 32K 7.67 GB 8.33 GB 128K (full) 7.8–11
Ornith 1.5 9B 9.7B 32K 7.58 GB 8.42 GB 256K (full) 7.9–11
Qwen3.5 9B 9.7B 32K 7.58 GB 8.42 GB 256K (full) 7.9–11

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

GGUF repos checked 2026-09-29; -c is the longest context with 0.5 GB free on the M2 or M3 Mac (24 GB).

gpt-oss-20b, MXFP4 with 34K tokens: 9.1–15 tokens/s on the M2 or M3 Mac (24 GB)

llama-server -hf ggml-org/gpt-oss-20b-GGUF:MXFP4 -c 34816 -ngl 99 -np 1

gpt-oss-20b-MXFP4.gguf, 12.1 GB: 15.5 GB used and 518 MB free of the M2 or M3 Mac (24 GB)'s 16 GB usable, 9.1–15 tokens/s once the 34K cache is full. -np 1: one slot, one sliding window.

Gemma 4 12B, Q4_K_M with 256K tokens: 4.5–6.2 tokens/s on the M2 or M3 Mac (24 GB)

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

gemma-4-12b-it-Q4_K_M.gguf, 7.1 GB: 12.8 GB used and 3.17 GB free of the M2 or M3 Mac (24 GB)'s 16 GB usable, 4.5–6.2 tokens/s once the 256K cache is full. -np 1: one slot, one sliding window.

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

Tokens per second at Q4_K_M (gpt-oss-20b at MXFP4) 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, M4 Mac (24 GB), 120 GB/s, writes 20% faster on average; M5 Mac (24 GB), 153 GB/s, writes 52% faster on average; M4 Pro Mac (24 GB), 273 GB/s, writes 168% faster on average; M5 Pro Mac (24 GB), 307 GB/s, writes 200% faster on average.

Model8K32KLongestAt the longestQ8_0 at 8KBandwidth ceiling at 8K1,000-token reply at 32K
gpt-oss-20b 11–19 9.3–16 34K 9.1–15 MXFP4 only 39 64–108 s
Gemma 4 12B 6.9–9.5 6.6–9.0 256K 4.5–6.2 4.1–5.6 13 111–152 s
ZDTaichu 5.0 9B 8.8–12 7.8–11 128K 5.3–7.3 5.1–7.0 16 94–129 s
Ornith 1.5 9B 8.9–12 7.9–11 256K 3.8–5.2 5.2–7.1 16 93–127 s
Qwen3.5 9B 8.9–12 7.9–11 256K 3.8–5.2 5.2–7.1 16 93–127 s
Ornith 1.0 9B 9.1–13 8.0–11 256K 3.8–5.2 5.3–7.3 17 91–125 s
MiMo V2.6 Distill Qwen 9B 9.1–13 8.0–11 256K 3.8–5.2 5.3–7.3 17 91–125 s
Granite 4.2 8B 8.2–11 5.1–7.0 55K 3.8–5.1 5.1–7.0 15 143–196 s
LFM2.5 8B-A1B 28–48 22–37 128,000 12–20 17–29 99 27–45 s
Qwen3 8B 8.8–12 5.6–7.6 40K 5.0–6.8 5.5–7.5 16 131–179 s

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

The same models fit on every Mac with 16 GB usable, so speed is what separates them. By bandwidth the M2 or M3 Mac (24 GB) is the slowest of the 5 Macs with 16 GB usable at 100 GB/s. Over the 12 biggest models that fit at Q4_K_M with 8K context, the M4 Mac (24 GB), at 120 GB/s, writes 20% faster, the M5 Mac (24 GB), at 153 GB/s, writes 52% faster, the M4 Pro Mac (24 GB), at 273 GB/s, writes 168% faster and the M5 Pro Mac (24 GB), at 307 GB/s, writes 200% faster than the M2 or M3 Mac (24 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 (24 GB) tokens/s M4 Mac (24 GB)M5 Mac (24 GB)M4 Pro Mac (24 GB)M5 Pro Mac (24 GB)
gpt-oss-20b 11–19 +3.0+7.9+26+30
Gemma 4 12B 6.9–9.5 +1.6+4.3+14+17
ZDTaichu 5.0 9B 8.8–12 +2.1+5.4+18+21
Ornith 1.5 9B 8.9–12 +2.1+5.5+18+21
Qwen3.5 9B 8.9–12 +2.1+5.5+18+21
Ornith 1.0 9B 9.1–13 +2.1+5.6+18+22
MiMo V2.6 Distill Qwen 9B 9.1–13 +2.1+5.6+18+22
Granite 4.2 8B 8.2–11 +1.9+5.1+16+20
LFM2.5 8B-A1B 28–48 +7.4+19+61+72
Qwen3 8B 8.8–12 +2.1+5.5+18+21
Llama 3.1 8B 9.1–13 +2.1+5.7+18+22
Gemma 4 E4B 11–15 +2.5+6.7+22+26

Near misses on M2 or M3 Mac (24 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
Gemma 4 26B-A4B 25.8B 1.50 GB GGUF Q3_K_M with 32K, 14.4 GB
Muse Glimmer 30B 29.8B 3.51 GB GGUF IQ3_XXS with 32K, 13.6 GB
Hemmingway-1 27B 27.3B 3.63 GB GGUF IQ3_XXS with 32K, 14.2 GB
Qwen3.6 27B 27.8B 3.92 GB GGUF IQ3_XXS with 32K, 14.4 GB
Qwen3.8 27B 27.8B 3.92 GB GGUF IQ3_XXS with 32K, 14.4 GB

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 18 here.

SetupHow it relatesMemoryBandwidthModels at Q4_K_M
M4 Mac (24 GB) Same memory 16 GB usable 120 GB/s 18 (same)
M5 Mac (24 GB) Same memory 16 GB usable 153 GB/s 18 (same)
M4 Pro Mac (24 GB) Same memory 16 GB usable 273 GB/s 18 (same)
M5 Pro Mac (24 GB) Same memory 16 GB usable 307 GB/s 18 (same)
M3 Pro Mac (18 GB) Next size down 12 GB usable 150 GB/s 17 (−1)
M4 Mac (32 GB) Next size up 21.3 GB usable 120 GB/s 28 (+10)

Model numbers read from Hugging Face on .