~/tools / Rodar um LLM local no seu servidor / Ollama Log Reader
Ollama Log Reader — Leia um log do Ollama: memória, camadas na GPU, contexto, velocidade
Cole o log do servidor do Ollama, de server.log, journalctl ou docker logs, e a ferramenta extrai o que importa: quanta memória cada carga de modelo usou e onde (pesos, KV cache, buffers de computação, por CPU ou GPU), quantas camadas foram para a GPU, o tamanho do contexto, as requisições e o status delas, a velocidade do prompt e da geração, e cada aviso, com uma explicação. Ela mostra quando um prompt foi cortado para caber no contexto, quando um modelo não coube na memória e quando o Ollama recarregou um modelo. Nada sai do seu navegador.
Onde encontrar o log
Da página de solução de problemas do Ollama. No Windows, o log mais recente é server.log nessa pasta.
# macOS cat ~/.ollama/logs/server.log # Linux (systemd) journalctl -u ollama --no-pager # Docker docker logs <container-name> # Windows explorer %LOCALAPPDATA%\Ollama
Foram lidas 76 de 77 linhas.
- linha 23O contexto é de 4096 tokens, menor que os 32768 que o modelo suporta. Entradas mais longas precisam de um num_ctx ou OLLAMA_CONTEXT_LENGTH maior, e de mais memória para o KV cache.
- linha 43O contexto é de 256 tokens, menor que os 32768 que o modelo suporta. Entradas mais longas precisam de um num_ctx ou OLLAMA_CONTEXT_LENGTH maior, e de mais memória para o KV cache.
- linha 49O prompt tinha 633 tokens e não coube no contexto. O Ollama manteve os primeiros 4 tokens e o final do prompt e descartou o resto, ficando com 130 tokens. Aumente num_ctx, encurte o prompt ou envie truncate definido como false para receber um erro.
- linha 53Uma requisição de 633 tokens não coube no contexto de 256 tokens e foi rejeitada (isso acontece quando truncate é false). Aumente num_ctx ou encurte a entrada.
- linha 55O Ollama parou o llama-server e o iniciou de novo logo em seguida para carregar o modelo com outras configurações, por exemplo outro num_ctx. Isso não é uma falha.
- linha 58num_ctx 65536 é maior que o contexto com que o modelo foi treinado, então o Ollama usou 32768.
- Requisições com falha: 400 POST /api/chat, 404 POST /api/chat
Servidor
- Versão
- 0.40.11
- Endereço
- [::]:11434
- Dispositivos
- cpu cpu (1.9 GiB / 1.9 GiB)
- Tamanho de contexto padrão
- 4096
Configurações (variáveis de ambiente)
- OLLAMA_HOST
- http://0.0.0.0:11434
- OLLAMA_CONTEXT_LENGTH
- 0 (0 = padrão)
- OLLAMA_NUM_PARALLEL
- 1
- OLLAMA_MAX_LOADED_MODELS
- 0 (0 = padrão)
- OLLAMA_KEEP_ALIVE
- 5m0s
- OLLAMA_FLASH_ATTENTION
- false
Cargas de modelo
Carga 1 às 2026-11-07T08:32:08.625Z linha 14
- Modelo
- Qwen2.5 0.5B Instruct · Q4_K - Medium · 373.71 MiB (6.35 BPW) · sha256-c5396e06af29
- Tamanho do contexto
- 4096 (treinado para 32768)
- Requisições paralelas
- 1
- Pesos
- 512 MiB
- KV cache
- 48.0 MiB (f16)
- Buffers de computação
- 41.3 MiB
- Total
- 601 MiB
- Por dispositivo
- CPU 393 MiB, CPU_REPACK 208 MiB
- Memória do sistema
- 1638 MiB livres de 1946 MiB, swap 777 MiB livre
- Tempo de inicialização
- 1.27 s
Carga 2 às 2026-11-07T08:32:10.384Z linha 34
- Modelo
- Qwen2.5 0.5B Instruct · Q4_K - Medium · 373.71 MiB (6.35 BPW) · sha256-c5396e06af29
- Tamanho do contexto
- 256 (treinado para 32768)
- Requisições paralelas
- 1
- Pesos
- 512 MiB
- KV cache
- 3.0 MiB (f16)
- Buffers de computação
- 18.8 MiB
- Total
- 533 MiB
- Por dispositivo
- CPU 325 MiB, CPU_REPACK 208 MiB
- Memória do sistema
- 1638 MiB livres de 1946 MiB, swap 763 MiB livre
- Tempo de inicialização
- 1.02 s
Carga 3 às 2026-11-07T08:32:12.223Z linha 59
- Modelo
- Qwen2.5 0.5B Instruct · Q4_K - Medium · 373.71 MiB (6.35 BPW) · sha256-c5396e06af29
- Tamanho do contexto
- 32768 (treinado para 32768)
- Requisições paralelas
- 1
- Pesos
- 512 MiB
- KV cache
- 384 MiB (f16)
- Buffers de computação
- 139 MiB
- Total
- 1034 MiB
- Por dispositivo
- CPU 826 MiB, CPU_REPACK 208 MiB
- Memória do sistema
- 1638 MiB livres de 1946 MiB, swap 764 MiB livre
- Tempo de inicialização
- 1.02 s
Velocidade informada pelo llama-server
| Tokens de prompt processados | Velocidade do prompt | Tokens gerados | Velocidade de geração |
|---|---|---|---|
| 35 | 217.5 tokens/s | 7 | 59.9 tokens/s |
| 130 | 227.3 tokens/s | 11 | 94.8 tokens/s |
| 30 | 202.7 tokens/s | 5 | 62.7 tokens/s |
Requisições
| Hora | Status | Duração | Requisição |
|---|---|---|---|
| 2026/11/07 - 08:31:42 | 200 | 0.007 s | GET /api/version |
| 2026/11/07 - 08:32:00 | 200 | 17.49 s | POST /api/pull |
| 2026/11/07 - 08:32:00 | 200 | 0.040 s | GET /api/tags |
| 2026/11/07 - 08:32:10 | 200 | 1.62 s | POST /api/chat |
| 2026/11/07 - 08:32:12 | 200 | 1.89 s | POST /api/chat |
| 2026/11/07 - 08:32:12 | 400 | 0.005 s | POST /api/chat |
| 2026/11/07 - 08:32:13 | 200 | 1.31 s | POST /api/chat |
| 2026/11/07 - 08:32:13 | 404 | 0.002 s | POST /api/chat |
Quando um prompt não cabe, o Ollama o corta para num_ctx − max((num_ctx − num_keep) ÷ 2, 1) tokens: cerca de metade do contexto, para que sobre espaço para a resposta. Os tokens de prompt na tabela de velocidade contam apenas os tokens que não estavam no cache.
O llama-server não conta o primeiro token gerado ao calcular a velocidade de geração, então o valor dele é um pouco menor que eval_count dividido por eval_duration na resposta da API.
O formato do log muda de versão para versão. A ferramenta segue o Ollama v0.40.15 e a versão do llama.cpp que ele usa, e ignora as linhas que não conhece.
Mensagens do código-fonte do Ollama (v0.40.15) e do llama.cpp, verificadas com logs reais do Ollama 0.40.11 em macOS e em Linux em 2026-11-07. Ollama: Troubleshooting
Tudo é feito no seu navegador. A ferramenta não se conecta a nada. Os logs podem conter caminhos de arquivos, endereços IP e nomes de modelos.
Quando o Ollama está lento, as respostas ignoram o início de um prompt longo ou uma requisição falha com um erro 500, a explicação costuma estar no log do servidor. O log mistura as linhas do próprio Ollama (time=… level=… msg=…), uma linha por requisição HTTP ([GIN] …) e a saída do llama-server, o programa do llama.cpp que o Ollama executa para carregar cada modelo GGUF. Esta ferramenta lê as três coisas. Para cada carga de modelo, mostra o tamanho do contexto (-c), o número de requisições paralelas (-np), o tipo e o tamanho do arquivo do modelo, o tamanho de contexto com que ele foi treinado, quantas camadas foram descarregadas para a GPU, e a memória dos pesos, do KV cache e dos buffers de computação, por dispositivo. Ela também lista as requisições com seu status e duração, e a velocidade do prompt e da geração que o llama-server imprime depois de cada requisição. Depois explica o que deu errado, usando as mensagens do código-fonte do Ollama (v0.40.15). Quando um prompt não cabe no contexto, o Ollama mantém os primeiros num_keep tokens e o final do prompt, e descarta o que está no meio, até que o prompt ocupe cerca de metade do contexto: no nosso teste, um prompt de 633 tokens com num_ctx 256 foi cortado para 130 tokens. Com truncate definido como false, a mesma requisição foi rejeitada com um erro 400. Um num_ctx acima do tamanho com que o modelo foi treinado é reduzido a esse tamanho. Quando um modelo não cabe na memória, a carga falha: no nosso teste em Linux com 1.9 GiB de memória e sem GPU, o qwen2.5:7b precisou de 4,460 MiB para os pesos, o llama-server foi parado com signal: killed e a requisição retornou 500. Uma linha dizendo que o llama-server terminou, seguida logo por um novo início, significa que o Ollama estava carregando o modelo de novo com outras configurações, não que ele travou. O formato do log muda de versão para versão; a ferramenta lê as linhas que conhece e ignora o resto. Nós a verificamos com logs reais do Ollama 0.40.11 em macOS (Apple M1) e em Linux no Docker, sem GPU.
A lógica principal desta ferramenta é de código aberto, sob a licença MIT. github.com/seigo5555/toolkitbox-lib/src/ollama-log.ts
Casos de uso
- Descobrir por que um prompt longo parece ser ignorado, ou por que uma requisição falhou com 400 ou 500
- Ver quanta memória um modelo realmente usou, e se ele rodou na GPU, na CPU ou em ambas
- Verificar qual tamanho de contexto e quais configurações o servidor usou, antes de comprar uma VPS maior
Como usar
- Obtenha o log: cat ~/.ollama/logs/server.log no macOS, journalctl -u ollama --no-pager no Linux, ou docker logs com o nome do contêiner.
- Cole-o. As linhas que começam com um carimbo de data e hora do journalctl ou do docker também são lidas.
- Leia primeiro os avisos, depois as cargas de modelo, a velocidade e as requisições.
FAQ
Por que meu modelo ignora o início de um prompt longo?
Se o log tiver uma linha "truncating input prompt", o prompt não coube no contexto. O Ollama manteve os primeiros num_keep tokens e o final, e descartou o meio, até que o prompt ocupasse cerca de metade do contexto. Aumente num_ctx (ou OLLAMA_CONTEXT_LENGTH), encurte o prompt ou envie truncate definido como false, para que o Ollama retorne um erro em vez de cortar.
O que significa "signal: killed"?
O llama-server foi parado de fora. No nosso teste em Linux, isso aconteceu enquanto um modelo que não cabia na memória estava sendo carregado, e a requisição retornou 500. Se uma nova linha "starting llama-server" aparecer em até dois segundos, o próprio Ollama parou o processo antigo para carregar o modelo de novo com outras configurações.
Por que a velocidade de geração no log é menor que eval_count dividido por eval_duration?
O llama-server não conta o primeiro token gerado, porque ele vem da última etapa do processamento do prompt, então divide por um token a menos. No nosso teste, 7 tokens em 675.82 ms foram informados como 8.88 tokens por segundo, enquanto 7 dividido pelo mesmo tempo dá 10.4.
Como vejo se o modelo rodou na GPU?
Veja "camadas na GPU" na carga do modelo. Todas as camadas na GPU significa que o modelo rodou lá por completo; algumas camadas significa que o resto rodou na CPU. Enquanto o modelo está carregado, ollama ps mostra a mesma divisão na coluna PROCESSOR.
Por que algumas linhas não são lidas?
A ferramenta lê as linhas do próprio Ollama, as linhas de requisição e as linhas do llama-server que importam para memória, contexto e velocidade. As outras linhas, como a lista de metadados do modelo, são ignoradas. O formato muda entre versões, então linhas de uma versão muito mais antiga ou mais nova podem não ser reconhecidas.
Meu log é enviado para algum lugar?
Não. O log é lido no seu navegador. Os logs podem conter caminhos de arquivos, endereços IP e os nomes dos seus modelos, então tenha cuidado com onde mais você os cola.
Artigos relacionados
- Acompanhe a memória do Ollama em uma VPS pequenaVeja o que o Ollama mantém na memória, por quanto tempo e quais configurações mudam isso: ollama ps, keep_alive e os limites, a partir do FAQ oficial.
- Conectar o Dify ao Ollama no seu próprio VPSExecute o Dify no seu próprio VPS e use o Ollama como modelo: instalação, campos do plugin, o problema do endereço no Docker e embeddings, segundo a documentação oficial.
- Rodar um LLM local sem um PC caro: guia para iniciantes sobre como usar uma VPSSem um PC potente? Alugue uma VPS e rode um pequeno LLM local pelo navegador: seis passos, da estimativa de memória até uma tela de chat protegida, com os limites ditos com honestidade.