Ollama is slower than expected

Usually the model didn't fully fit, and Ollama ran it anyway across GPU and system RAM.

From the file· fixes ordered by quality cost
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

  1. 1
    Check 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.

  2. 2
    Shorten 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.

  3. 3
    Pick 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.

  4. 4
    Check 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.