Ollama is slower than expected
Usually the model didn't fully fit, and Ollama ran it anyway across GPU and system RAM.
No error — generation crawls despite a capable GPU
What's actually happening
Ollama sizes offload automatically and will happily place part of a model in system memory rather than fail. That is a reasonable default and a confusing one, because the result is a working setup at a fraction of the speed. Its short model tags also map to specific quantizations that are not obvious from the name — a bare tag is usually a 4-bit build, so the model you got may not be the one you think.
Fixes, cheapest first
- 1Check how much actually landed on the GPU
Run ollama ps while a model is loaded. It reports the CPU/GPU split. Anything less than 100% GPU explains the speed directly.
- 2Shorten the context
Ollama's default context is modest, but raising it allocates the full cache up front and can push a model that previously fit over the edge.
- 3Pick the quantization explicitly
Use an explicit tag rather than the bare model name, so you know which build you are running rather than inheriting a default.
- 4Check what actually fits first
Our fit matrix shows every published quantization of a model against your card at every context length, so you can choose deliberately instead of discovering the ceiling by feel.
Work out what fits
Rather than guessing, pick your model and card and read the grid: every quantization at every context, with the memory each combination actually needs.