Intermediário 11 minOllama

Resolver problemas do Ollama: GPU não detectada, lentidão, erros memória

Você instalou Ollama, tem uma boa GPU e, mesmo assim, as respostas chegam devagar — sinal clássico de que o Ollama não detectou a GPU e passou a executar o modelo no processador. Este guia examina os problemas mais frequentes (fallback para CPU, falta de memória, lentidão, conflitos de drivers) e fornece, para cada caso, os comandos de diagnóstico para encontrar a causa real em vez de adivinhar.

Por Marie L.·Atualização 2026-08-27·Testado no Windows, macOS e Linux

#Sintomas típicos

O Ollama raramente para de funcionar por completo: na maioria das vezes, ele “funciona”, mas mal. O daemon está de fato escutando em http://localhost:11434, o modelo responde, mas algo está errado. Saber reconhecer o sintoma já aponta para a categoria certa de causas.

Respostas muito lentas
Alguns tokens por segundo enquanto esperamos dezenas: o modelo provavelmente está rodando no CPU, GPU não detectada ou não utilizada.
GPU com 0% de uso
nvidia-smi ou rocm-smi mostram uma placa inativa durante a geração: o Ollama não passou a utilizá-la.
Erro de memória insuficiente
O carregamento falha ou o modelo é removido da memória com uma mensagem CUDA/HIP « out of memory »: o modelo ou seu contexto excede a capacidade da VRAM.
Lentidão repentina após uma atualização
Uma taxa de geração que cai drasticamente de um dia para o outro aponta para um driver, uma versão do Ollama ou um conflito CUDA/ROCm.
Offload parcial
Parte das camadas no GPU, o restante no CPU: funciona, mas é muito mais lento do que um offload completo.

#Verificar se a GPU realmente está sendo usada

O kit IA Local

Seu ChatGPT privado e gratuito na sua máquina em 1 hora — LM Studio, Ollama, Open WebUI, seus documentos, sem nuvem.

  • Espaço online vitalício
  • PDF + arquivos
  • Atualizações vitalícias

Antes de buscar uma solução, é necessário estabelecer um fato: o Ollama utiliza a GPU, sim ou não? O comando mais direto é ollama ps, que exibe os modelos carregados e, principalmente, a distribuição entre CPU e GPU enquanto um modelo está em memória.

Terminal — status dos modelos carregados
# Charger un modèle puis, dans un autre terminal, l'interroger
ollama run qwen3.5:9b "bonjour"

# Pendant que le modèle est en mémoire, vérifier la répartition
ollama ps

A coluna PROCESSOR é a chave. « 100% GPU » significa que todo o modelo está na placa — é o que queremos. « 100% CPU » confirma um fallback completo. Um « 60%/40% CPU/GPU » indica um offload parcial: o modelo não cabe inteiramente na VRAM.

i
Ler a coluna PROCESSOR
ollama ps só exibe a distribuição enquanto um modelo está carregado na memória. Por padrão, o Ollama descarrega um modelo após 5 minutos de inatividade (keep_alive) — execute o comando logo depois de uma geração.

Para conferir a informação, monitore a GPU pelos recursos de monitoramento do fabricante durante uma geração. Se a utilização aumentar, a GPU está trabalhando; se permanecer em zero, o Ollama a ignora.

Terminal — monitorar o GPU
# NVIDIA : rafraîchissement toutes les secondes
nvidia-smi -l 1

# AMD (ROCm)
rocm-smi

# Vue plus lisible et interactive (si installé)
nvtop

#Ler os logs do Ollama

Os logs do servidor indicam exatamente qual backend foi carregado e por que um GPU foi selecionado ou descartado. É a fonte de verdade quando o ollama ps e o nvidia-smi se contradizem.

Terminal — ver logs
# Linux (service systemd)
journalctl -u ollama -f

# macOS / lancement manuel : les logs vont sur la sortie du serveur
# Relancer le daemon en verbeux pour tout voir
OLLAMA_DEBUG=1 ollama serve

Procure as linhas que mencionam « inference compute », « library=cuda » ou « library=rocm » e o número de camadas transferidas para a GPU (« offloaded X/Y layers to GPU »). Se você vir « no compatible GPUs were discovered » ou « library=cpu », você encontrou a causa: o Ollama não detectou nenhuma GPU utilizável.

→
A mensagem que importa
A linha « offloaded N/M layers to GPU » diz tudo: N=M é perfeito, N<M é um offload parcial (VRAM insuficiente), N=0 é apenas CPU. Sempre parta dessa linha para diagnosticar.

#Fallback no CPU e suas causas comuns

Quando o Ollama não consegue usar a GPU, ele não trava: muda silenciosamente para a CPU. Esse é o comportamento mais confuso, porque, aparentemente, “tudo funciona”. Aqui estão as causas mais comuns, da mais simples à mais sutil.

  1. 01
    VRAM insuficiente para o modelo
    Se o modelo (pesos + contexto) ultrapassar a VRAM livre, o Ollama transfere parte da execução para a CPU, ou até toda ela. Um modelo de 14B em Q4 exige aproximadamente 9 GB, um de 32B cerca de 19 GB: em uma placa de 12 GB, o modelo de 32B nunca caberá inteiramente.
  2. 02
    Driver de GPU ausente ou muito antigo
    Sem um driver NVIDIA recente (ou ROCm no caso da AMD), o Ollama não detecta nenhuma GPU compatível e volta a usar a CPU. Essa é a causa número 1 de um 'GPU do Ollama não detectado'.
  3. 03
    GPU ocupada por outro processo
    Outro modelo, um jogo, um notebook Python ou outra instância Ollama pode já saturar a VRAM. nvidia-smi lista os processos e a memória consumida.
  4. 04
    Ollama em um contêiner sem passthrough de GPU
    Em Docker, sem --gpus all (NVIDIA) ou os dispositivos ROCm expostos, o container não vê a placa. O daemon funciona, mas em CPU.
  5. 05
    GPU não suportada
    Placas antigas demais (capacidade de computação CUDA insuficiente) ou GPUs AMD fora da lista oficial do ROCm: o Ollama as ignora deliberadamente.
Terminal — o que ocupa a VRAM?
# Voir les processus et la mémoire GPU consommée
nvidia-smi

# Repérer d'autres instances Ollama qui tourneraient déjà
ps aux | grep ollama
!
Docker e GPU
Quando um contêiner do Ollama roda na CPU, embora a máquina host tenha uma GPU, isso quase sempre se deve à falta de passthrough. Verifique a opção --gpus all e a instalação do NVIDIA Container Toolkit no host.

#Erros de memória insuficiente: ler e resolver

Uma mensagem «CUDA error: out of memory» (ou «HIP out of memory» em AMD) significa que o modelo exige mais VRAM do que está disponível. Dois fatores aumentam essa exigência: o tamanho do modelo e a janela de contexto. Reduzir um ou outro resolve a maioria dos casos.

Modelo grande demais
Mude para uma quantização mais leve (Q4_K_M em vez de Q5/Q8) ou para um modelo menor. Referência em Q4: 7B≈5 GB · 14B≈9 GB · 32B≈19 GB · 70B≈40 GB.
Contexto demasiado longo
Um valor alto de num_ctx multiplica a memória do cache KV. Reduzir a janela de contexto (num_ctx) libera muita VRAM, especialmente em modelos grandes.
VRAM fragmentada por outro processo
Feche jogos, notebooks e outros modelos. Reinicie o daemon Ollama para começar com uma VRAM limpa.
Memória residual
Um modelo anterior ainda carregado ocupa a VRAM. ollama stop <modèle> o descarrega imediatamente em vez de esperar o keep_alive.
Terminal — reduzir a pressão de memória
# Décharger un modèle tout de suite
ollama stop qwen3.6:35b

# Lancer avec un contexte réduit (via l'API ou un Modelfile)
# Exemple : forcer num_ctx à 4096 au lieu de la valeur par défaut
ollama run qwen3.5:9b
# puis dans le prompt interactif :
# /set parameter num_ctx 4096
→
Estimar antes de carregar
Some o tamanho do modelo (de acordo com sua quantização) a uma margem para o contexto. Procure ficar abaixo de ~90% da sua VRAM total: acima disso, há risco de offload parcial ou OOM. Em uma RTX 4090 de 24 GB, um modelo de 32B Q4 (≈19 GB) cabe; um de 70B Q4 (≈40 GB) não.

#Drivers NVIDIA/AMD, CUDA e ROCm atualizados

Muitos problemas « Ollama GPU não detectada » são resolvidos atualizando a camada do driver. Ollama embarca suas próprias bibliotecas CUDA/ROCm, mas depende do driver do sistema para se comunicar com o hardware.

Terminal — verificar o driver NVIDIA
# Doit afficher la version du driver et CUDA
nvidia-smi

# Si la commande échoue : le driver n'est pas installé ou pas chargé
# Vérifier que le module noyau est bien chargé (Linux)
lsmod | grep nvidia

Do lado da AMD, a instalação do ROCm é mais exigente: a placa deve estar na lista de GPUs suportadas e, em alguns casos, é necessário exportar uma variável para forçar o suporte a uma arquitetura próxima (HSA_OVERRIDE_GFX_VERSION). Verifique primeiro se o rocminfo consegue ver a GPU.

Terminal — verificar ROCm (AMD)
# Le GPU doit apparaître dans la liste des agents
rocminfo | grep -i gfx

# État et mémoire du GPU AMD
rocm-smi

# Forcer une architecture proche si la carte n'est pas officiellement listée
export HSA_OVERRIDE_GFX_VERSION=11.0.0
!
Após atualização do driver, reinicie o serviço
Um novo driver só entra em vigor após o recarregamento do módulo do kernel — o mais seguro é reiniciar a máquina e depois o serviço Ollama (sudo systemctl restart ollama). Um daemon iniciado antes da atualização continua vendo o estado antigo.

#Lentidão repentina

Uma taxa de geração que era boa e depois cai abruptamente quase sempre tem uma causa identificável. Diferentemente do uso permanente da CPU como alternativa, a lentidão súbita revela uma mudança recente de estado.

Offload parcial que começou a ocorrer recentemente
Você aumentou o contexto ou carregou um modelo maior: parte do modelo foi transferida para CPU. Verifique o comando ollama ps e a linha « offloaded N/M layers ».
Redução de frequência por aquecimento
Um GPU que aquece reduz sua frequência. O nvidia-smi exibe a temperatura e o estado « P-State »; acima de ~83 °C, a placa sofre throttling térmico.
Atualização de Ollama ou do driver
Uma regressão pode tornar a inferência mais lenta. Anote a versão que funcionava (ollama --version) antes de atualizar, para poder voltar à versão anterior.
VRAM compartilhada / memória do sistema
No Windows, quando a capacidade da VRAM é excedida, o driver pode usar a RAM do sistema (memória compartilhada da GPU), o que derruba o desempenho. Use um modelo menor em vez de deixar que ele exceda a capacidade da VRAM.
Recarregamento em cada consulta
Um keep_alive muito curto recarrega o modelo continuamente. Aumente OLLAMA_KEEP_ALIVE se você estiver enviando requisições consecutivas.
Terminal — temperatura e frequência
# Surveiller température, conso et fréquence en continu
nvidia-smi -l 1

# Garder les modèles chargés plus longtemps (ex : 30 min)
export OLLAMA_KEEP_ALIVE=30m
sudo systemctl restart ollama

#Checklist de diagnóstico

Quando algo der errado, siga essas etapas na ordem: elas vão do mais comum ao mais raro e evitam que você siga pelo caminho errado.

  1. 01
    1. Confirmar o sintoma
    ollama ps pendant une génération : la colonne PROCESSOR indique-t-elle CPU, GPU ou un mélange ?
  2. 02
    2. Verificar se o sistema reconhece a GPU
    nvidia-smi (ou rocm-smi) responde? Caso contrário, o problema está no driver, não no Ollama.
  3. 03
    3. Ler os logs
    journalctl -u ollama -f (ou OLLAMA_DEBUG=1 ollama serve) : procurar « library=cuda/rocm/cpu » e « offloaded N/M layers ».
  4. 04
    4. Verificar a VRAM disponível
    nvidia-smi : outro processo está ocupando a placa? O modelo cabe na VRAM livre?
  5. 05
    5. Reduzir a carga caso ocorra OOM ou offload parcial
    Quantização mais leve, modelo menor ou num_ctx reduzido. Descarregar da memória os modelos não utilizados com ollama stop.
  6. 06
    6. Atualizar e reiniciar
    Driver e Ollama atualizados, depois reiniciar o serviço (e a máquina após uma troca de driver).
i
Isolar antes de corrigir
A regra de ouro: mude apenas uma coisa de cada vez e verifique novamente com ollama ps. Alterar o driver, o contexto e o modelo ao mesmo tempo torna impossível identificar o que realmente resolveu — ou agravou — o problema.

#Para se aprofundar

Depois que a GPU for detectada corretamente, estes guias do site ajudam a aproveitar ao máximo sua configuração e a evitar que os problemas voltem:

Escolher sua quantização (Q4, Q5, Q8, FP16)
O alavanca nº 1 contra erros de memória: entender o compromisso qualidade/VRAM para escolher um formato que caiba na sua placa.
Executar um LLM localmente sem GPU (somente CPU)
Se o seu hardware não permitir offload para a GPU, este guia mostra como manter o uso viável apenas com a CPU e quais modelos escolher com base na RAM.
Instalar o Ollama: Windows, macOS e Linux
Revisar a instalação correta do daemon e dos drivers, muitas vezes a verdadeira causa de uma GPU não detectada.
Este guia ajudou você?

Um comentário, um erro ou uma observação? Avise-nos; isso ajuda a melhorar o guia para todos.