Can an Apple M4 16GB run GPT OSS 20B?

Yes, with a setting

It needs 11.81 GB at MXFP4 and macOS allows 10.72 GB by default. Raise the limit and it runs at about 19.8 tokens per second.

In practice

On paper the Apple M4 16GB has 16 GB, and GPT OSS 20B at MXFP4 needs 11.81 GB. macOS does not let the GPU use all of it: by default about 67% is available, which is 10.72 GB. So the model is just over the default limit and well inside the physical memory.

The limit is a setting, and one command raises it for the current session. It resets at reboot, and the memory it takes comes from the rest of the system, so keep other large programs closed while the model is loaded. Once it is raised the estimate is about 19.8 tokens per second.

The numbers

GPT OSS 20B has 20.91 billion parameters across 24 layers, of which 4.18 billion are read for each token. The Apple M4 16GB has 16 GB of unified memory at 120 GB/s, of which about 10.72 GB is left for a model once the operating system has taken its share.

QuantizationTotal neededFitsSpeed
MXFP4 11.81 GB with raised limit 19.8 t/s

Nothing on this ladder fits entirely, including the 2-bit levels we do not recommend. This model is published in a single native format, so every row is the same file.

The settings we would use

sudo sysctl iogpu.wired_limit_mb=13312

macOS lets the GPU wire down about 67% of the memory by default, which is less than this model needs. The command raises the limit for this session and resets at reboot.

Once the limit is raised, Ollama and LM Studio use the extra memory without further settings. Run ollama ps and check that the processor column reads 100% GPU, and see the Mac and PC comparison for what unified memory does well and where it is slow.

If you would rather not change the limit

No smaller model from the same family fits at a quantization worth using, so the choice is a different family or different hardware.

What else an Apple M4 16GB runs well

For comparison, these are the other popular models that fit this device at a sound quantization, best pairings first.

ModelQuantizationMemorySpeed
Qwen3.5 9B Q6_K 8.04 GB 11.8 t/s
Gemma 4 12B Instruct Q4_K_M 8.41 GB 10.2 t/s
Qwen3 8B Q6_K 7.76 GB 11.8 t/s
Qwen3 14B IQ4_XS 8.97 GB 10.0 t/s

The same model on nearby hardware

Memory decides whether GPT OSS 20B loads and bandwidth decides how quickly it answers. Here is what a step down, a card with the same memory and a step up do with it.

DeviceMemoryBandwidthResult
GeForce RTX 4070 12 GB 504 GB/s partial, 88.5 t/s
GeForce RTX 5080 16 GB 960 GB/s MXFP4, 172 t/s
GeForce RTX 4090 24 GB 1008 GB/s MXFP4, 180 t/s

See how fast it feels

Apple M4 16GB running GPT OSS 20B at MXFP4

Wait for the first word3.1 s
Then writes at19.8 tok/s
Whole answer12 s

YouWhy does my model use more memory when the conversation gets longer?

Model

Simulated from our estimate at a 512-token question, not a recording. Assumes nothing else is competing for the GPU.

Questions people ask

How much VRAM does GPT OSS 20B need on Apple M4 16GB?

At MXFP4 with an 8k context window it needs 11.81 GB in total: 11.28 GB of weights, 0.19 GB of KV cache and 0.34 GB of runtime overhead. The Apple M4 16GB makes about 10.72 GB available once the operating system has taken its share.

Can I run GPT OSS 20B on Apple M4 16GB anyway?

Yes, after raising the macOS GPU memory limit, which one sysctl command does. Without it the model needs 11.81 GB and the default limit allows 10.72 GB.

Keep going

Everything the Apple M4 16GB runs, the full breakdown for GPT OSS 20B, how the numbers are made in the methodology, or a different pairing in the calculator.