FitLLM

Can I run gpt-oss-120b on a M5 Pro 48GB Mac?

❌ No — gpt-oss-120b (8-bit) needs 132 GB of 48 GB unified memory

Computed with the open FitLLM engine — accurate per-layer KV-cache modeling, not a naive estimate. Updated 2026-07-10.

Memory breakdown (8-bit, F16 KV, 33K context)

Model weights109 GB
KV cache1.1 GB
Runtime + macOS16.2 GB
Total used132 / 48 GB
Short by84.3 GB

Max context at 8-bit: does not fit. Unified memory is shared by the OS — FitLLM leaves ~20% headroom.

Every quantization on M5 Pro 48GB

QuantWeightsFits (KV F16)Used @32K
4bit54.5 GB❌ won't fit71.3 / 48 GB
8bit109 GB❌ won't fit132 / 48 GB
16bit218 GB❌ won't fit254 / 48 GB

Lower quants free memory at some output-quality cost — 4-bit is the common sweet spot for local use.

▶ Open the interactive calculator (this exact setup)

Embed this verdict

Live badge for your README or model card — recomputed by the engine, never stale:

[![fits: gpt-oss-120b on M5 Pro 48GB Mac](https://img.shields.io/endpoint?url=https%3A%2F%2Ffitllm.run%2Fapi%2Fbadge%3Fmodel%3Dgpt-oss-120b%26ram%3D48%26quant%3D8)](https://fitllm.run/can-i-run/gpt-oss-120b-on-m5-pro-48gb)

fit badge preview ← renders like this, live.

Or from your terminal (exit 0/1 — works as a pre-download guard):

npx fitllm "gpt-oss-120b" --mac 48

Why most calculators get this wrong

gpt-oss-120b interleaves sliding-window (local) and global attention 5:1. The local layers cap their KV cache at the 128-token window, and the global layers use a different head shape (head_dim 64 vs 64). A naive "all layers × full context × one head_dim" formula over-counts KV cache by several times.

Other options

same Mac Models that fit in 48GB: gpt-oss-20b, Qwen 3.6 27B, Gemma 4 e2b, Gemma 4 e4b, Gemma 4 12b, Gemma 4 26b A4B, Llama-3.2-3B-Instruct, Llama-3.1-8B-Instruct, Qwen3-0.6B, Qwen3-1.7B, Llama-3.2-1B-Instruct, Gemma-3-1B-it.

Reproduce it

Open math: fitllm-engine (MIT), from official config.json.

All numbers are computed by the open-source fitllm-engine (MIT) from official model config.json values — reproduce or audit them yourself. Estimates; real usage varies with runtime (llama.cpp / MLX / Ollama), driver and display. Found a mismatch? Report it. · FitLLM home