Can It Run?
Home โ€บ Qwen3 30B-A3B โ€บ M4 Pro 24GB

Can an M4 Pro 24GB Mac run Qwen3 30B-A3B?

M4 Pro ยท 24 GB unified memory ยท 273 GB/s ยท Mac mini (M4 Pro), MacBook Pro 14" (M4 Pro)

Just barely โ€” and you will feel it.

Qwen3 30B-A3B at Q4_K_M needs about 19.8 GiB against roughly 20.4 GiB usable โ€” that is 97% of your budget. It will load, but close your browser first, keep the context short, and expect memory pressure. Around 68 tokens/sec.

Weights
17.4 GiB
30.5B params @ Q4_K_M
KV cache
0.8 GiB
8K context, FP16
Overhead
1.7 GiB
runtime + activations
Total needed
19.8 GiB
of ~20.4 GiB usable
Est. speed
68 tok/s
273 GB/s bandwidth
Max context
8K tokens
at Q4_K_M

Where the memory goes

Three things occupy memory when a model is loaded: the weights themselves, the KV cache that holds the conversation, and the runtime's own working buffers. Only the first is fixed โ€” the KV cache grows with every token in your context.

QuantisationWeightsTotalTok/sFits?
FP1656.8 GiB61.2 GiB21No
Q8_030.2 GiB33.2 GiB39No
Q6_K23.4 GiB26.2 GiB50No
Q5_K_M20.2 GiB22.8 GiB58No
Q4_K_M17.4 GiB19.8 GiB68Yes, but tight
Q3_K_M13.8 GiB16.1 GiB85Yes, comfortably
Q2_K10.7 GiB12.7 GiB110Yes, comfortably

The default. Best quality-per-gigabyte for most people.

How long a context fits

The KV cache is often what breaks a setup that looked fine at load time. Quantising it to 8-bit roughly halves its footprint with little measurable quality cost.

ContextKV cacheTotalFP16 KVQ8 KV
2K0.2 GiB19.0 GiBYes, but tightYes, but tight
4K0.4 GiB19.3 GiBYes, but tightYes, but tight
8K0.8 GiB19.8 GiBYes, but tightYes, but tight
16K1.5 GiB20.9 GiBNoYes, but tight
32K3.0 GiB23.0 GiBNoNo
128K12.0 GiB35.6 GiBNoNo

What to run instead on an M4 Pro 24GB Mac

These are the largest models that fit comfortably on this machine at Q4_K_M with an 8K context.

ModelSizeTotalTok/s
Mistral Small 3 24B23.6B16.2 GiB15Yes, comfortably
gpt-oss-20b20.9B13.7 GiB62Yes, comfortably
DeepSeek-R1-Distill-Qwen-14B14.8B11.2 GiB24Yes, comfortably
Qwen2.5 14B14.8B11.2 GiB24Yes, comfortably
Qwen2.5-Coder 14B14.8B11.2 GiB24Yes, comfortably
Qwen3 14B14.8B10.9 GiB24Yes, comfortably

How to run it

Ollama is the shortest path. It picks a quantisation automatically โ€” usually Q4_K_M, which is what the numbers above assume.

brew install ollama
ollama serve &
ollama run qwen3:30b-a3b

For MLX โ€” Apple's own array framework, typically a little faster than llama.cpp on Apple Silicon:

pip install mlx-lm
mlx_lm.generate --model mlx-community/Qwen3-30B-A3B-4bit --prompt "Hello"
You are close to the limitIf it stutters or gets killed, raise the Metal memory cap before loading: sudo sysctl iogpu.wired_limit_mb=20889. This resets on reboot. Quantising the KV cache (--kv-cache-type q8_0 in llama.cpp) buys back 0.4 GiB.

Macs that run Qwen3 30B-A3B comfortably

The smallest configuration that handles it is the M1 Max 32GB (MacBook Pro 14" (M1 Max)).

MacMemoryBandwidthTok/s
M1 Max 32GB32 GB400 GB/s99
M2 Max 32GB32 GB400 GB/s99
M4 32GB32 GB120 GB/s30
M3 Max 36GB36 GB300 GB/s74
M4 Max 36GB36 GB410 GB/s101
M4 Pro 48GB48 GB273 GB/s68
M4 Max 48GB48 GB546 GB/s135
M1 Max 64GB64 GB400 GB/s99
M2 Ultra 64GB64 GB800 GB/s198
M4 Pro 64GB64 GB273 GB/s68
M4 Max 64GB64 GB546 GB/s135
M2 Max 96GB96 GB400 GB/s99

Common questions

Can an M4 Pro 24GB Mac run Qwen3 30B-A3B?
Yes. At Q4_K_M it needs about 19.8 GiB of the roughly 20.4 GiB available, generating around 68 tokens per second.
How fast is Qwen3 30B-A3B on an Mac?
Around 68 tokens per second. Token generation on Apple Silicon is limited by memory bandwidth, and this machine has 273 GB/s. Because this is a mixture-of-experts model only 3.3B of its 30.5B parameters are read per token, which is why it is faster than its size suggests.
How much memory does Qwen3 30B-A3B need?
17.4 GiB for the weights at Q4_K_M, plus 0.8 GiB for an 8K-token KV cache and about 1.7 GiB of runtime overhead โ€” 19.8 GiB in total.