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.
#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
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.
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.
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.
#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.
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.
#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.
- 01VRAM insuficiente para o modeloSe 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.
- 02Driver de GPU ausente ou muito antigoSem 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'.
- 03GPU ocupada por outro processoOutro 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.
- 04Ollama em um contêiner sem passthrough de GPUEm Docker, sem --gpus all (NVIDIA) ou os dispositivos ROCm expostos, o container não vê a placa. O daemon funciona, mas em CPU.
- 05GPU não suportadaPlacas antigas demais (capacidade de computação CUDA insuficiente) ou GPUs AMD fora da lista oficial do ROCm: o Ollama as ignora deliberadamente.
#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.
#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.
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.
#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.
#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.
- 011. Confirmar o sintomaollama ps pendant une génération : la colonne PROCESSOR indique-t-elle CPU, GPU ou un mélange ?
- 022. Verificar se o sistema reconhece a GPUnvidia-smi (ou rocm-smi) responde? Caso contrário, o problema está no driver, não no Ollama.
- 033. Ler os logsjournalctl -u ollama -f (ou OLLAMA_DEBUG=1 ollama serve) : procurar « library=cuda/rocm/cpu » e « offloaded N/M layers ».
- 044. Verificar a VRAM disponívelnvidia-smi : outro processo está ocupando a placa? O modelo cabe na VRAM livre?
- 055. Reduzir a carga caso ocorra OOM ou offload parcialQuantização mais leve, modelo menor ou num_ctx reduzido. Descarregar da memória os modelos não utilizados com ollama stop.
- 066. Atualizar e reiniciarDriver e Ollama atualizados, depois reiniciar o serviço (e a máquina após uma troca de driver).
#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.
Um comentário, um erro ou uma observação? Avise-nos; isso ajuda a melhorar o guia para todos.