Can an M4 Max 36GB Mac run Mixtral 8x7B?
M4 Max ยท 36 GB unified memory ยท 410 GB/s ยท MacBook Pro 14" (M4 Max)
Mixtral 8x7B at Q4_K_M needs about 29.8 GiB against roughly 30.6 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 26 tokens/sec.
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.
| Quantisation | Weights | Total | Tok/s | Fits? |
|---|---|---|---|---|
| FP16 | 87.0 GiB | 93.1 GiB | 8 | No |
| Q8_0 | 46.2 GiB | 50.3 GiB | 15 | No |
| Q6_K | 35.9 GiB | 39.5 GiB | 19 | No |
| Q5_K_M | 31.0 GiB | 34.3 GiB | 22 | No |
| Q4_K_M | 26.6 GiB | 29.8 GiB | 26 | Yes, but tight |
| Q3_K_M | 21.2 GiB | 24.1 GiB | 33 | Yes, comfortably |
| Q2_K | 16.3 GiB | 18.9 GiB | 42 | Yes, 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.
| Context | KV cache | Total | FP16 KV | Q8 KV |
|---|---|---|---|---|
| 2K | 0.3 GiB | 28.8 GiB | Yes, but tight | Yes, but tight |
| 4K | 0.5 GiB | 29.1 GiB | Yes, but tight | Yes, but tight |
| 8K | 1.0 GiB | 29.8 GiB | Yes, but tight | Yes, but tight |
| 16K | 2.0 GiB | 31.1 GiB | No | Yes, but tight |
| 32K | 4.0 GiB | 33.7 GiB | No | No |
What to run instead on an M4 Max 36GB Mac
These are the largest models that fit comfortably on this machine at Q4_K_M with an 8K context.
| Model | Size | Total | Tok/s | |
|---|---|---|---|---|
| DeepSeek-R1-Distill-Qwen-32B | 32.8B | 22.4 GiB | 16 | Yes, comfortably |
| Qwen2.5 32B | 32.8B | 22.4 GiB | 16 | Yes, comfortably |
| Qwen2.5-Coder 32B | 32.8B | 22.4 GiB | 16 | Yes, comfortably |
| Qwen3 32B | 32.8B | 22.4 GiB | 16 | Yes, comfortably |
| Qwen3 30B-A3B | 30.5B | 19.8 GiB | 101 | Yes, comfortably |
| Gemma 3 27B | 27.4B | 21.1 GiB | 20 | Yes, 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 mixtral:8x7b
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/Mixtral-8x7B-4bit --prompt "Hello"
sudo sysctl iogpu.wired_limit_mb=31334. This resets on reboot. Quantising the KV cache (--kv-cache-type q8_0 in llama.cpp) buys back 0.5 GiB.Macs that run Mixtral 8x7B comfortably
The smallest configuration that handles it is the M4 Pro 48GB (Mac mini (M4 Pro)).
| Mac | Memory | Bandwidth | Tok/s |
|---|---|---|---|
| M4 Pro 48GB | 48 GB | 273 GB/s | 17 |
| M4 Max 48GB | 48 GB | 546 GB/s | 35 |
| M1 Max 64GB | 64 GB | 400 GB/s | 25 |
| M2 Ultra 64GB | 64 GB | 800 GB/s | 51 |
| M4 Pro 64GB | 64 GB | 273 GB/s | 17 |
| M4 Max 64GB | 64 GB | 546 GB/s | 35 |
| M2 Max 96GB | 96 GB | 400 GB/s | 25 |
| M3 Ultra 96GB | 96 GB | 819 GB/s | 52 |
| M3 Max 128GB | 128 GB | 400 GB/s | 25 |
| M4 Max 128GB | 128 GB | 546 GB/s | 35 |
| M2 Ultra 192GB | 192 GB | 800 GB/s | 51 |
| M3 Ultra 256GB | 256 GB | 819 GB/s | 52 |
Common questions
- Can an M4 Max 36GB Mac run Mixtral 8x7B?
- Yes. At Q4_K_M it needs about 29.8 GiB of the roughly 30.6 GiB available, generating around 26 tokens per second.
- How fast is Mixtral 8x7B on an Mac?
- Around 26 tokens per second. Token generation on Apple Silicon is limited by memory bandwidth, and this machine has 410 GB/s. Because this is a mixture-of-experts model only 12.9B of its 46.7B parameters are read per token, which is why it is faster than its size suggests.
- How much memory does Mixtral 8x7B need?
- 26.6 GiB for the weights at Q4_K_M, plus 1.0 GiB for an 8K-token KV cache and about 2.1 GiB of runtime overhead โ 29.8 GiB in total.