~/tools / Eseguire un LLM locale sul tuo server / Ollama Log Reader
Ollama Log Reader — Leggi un log di Ollama: memoria, layer sulla GPU, contesto, velocità
Incolla il log del server di Ollama, da server.log, journalctl o docker logs, e lo strumento ne estrae ciò che conta: quanta memoria ha usato ogni caricamento di modello e dove (pesi, cache KV, buffer di calcolo, per CPU o GPU), quanti layer sono andati sulla GPU, la lunghezza del contesto, le richieste e il loro stato, la velocità del prompt e della generazione, e ogni avviso, con una spiegazione. Mostra quando un prompt è stato tagliato per stare nel contesto, quando un modello non è entrato in memoria e quando Ollama ha ricaricato un modello. Nulla lascia il tuo browser.
Dove trovare il log
Dalla pagina di risoluzione dei problemi di Ollama. Su Windows, il log più recente è server.log in quella cartella.
# macOS cat ~/.ollama/logs/server.log # Linux (systemd) journalctl -u ollama --no-pager # Docker docker logs <container-name> # Windows explorer %LOCALAPPDATA%\Ollama
Lette 76 righe su 77.
- riga 23Il contesto è di 4096 token, più corto dei 32768 supportati dal modello. Input più lunghi richiedono un num_ctx o un OLLAMA_CONTEXT_LENGTH più grande, e più memoria per la cache KV.
- riga 43Il contesto è di 256 token, più corto dei 32768 supportati dal modello. Input più lunghi richiedono un num_ctx o un OLLAMA_CONTEXT_LENGTH più grande, e più memoria per la cache KV.
- riga 49Il prompt aveva 633 token e non stava nel contesto. Ollama ha conservato i primi 4 token e la fine del prompt e ha scartato il resto, lasciando 130 token. Aumenta num_ctx, accorcia il prompt, oppure invia truncate impostato a false per ottenere invece un errore.
- riga 53Una richiesta di 633 token non stava nel contesto di 256 token ed è stata rifiutata (succede quando truncate è false). Aumenta num_ctx o accorcia l'input.
- riga 55Ollama ha fermato llama-server e lo ha riavviato subito per caricare il modello con altre impostazioni, per esempio un altro num_ctx. Non è un crash.
- riga 58num_ctx 65536 è più lungo del contesto con cui il modello è stato addestrato, quindi Ollama ha usato 32768.
- Richieste fallite: 400 POST /api/chat, 404 POST /api/chat
Server
- Versione
- 0.40.11
- Indirizzo
- [::]:11434
- Dispositivi
- cpu cpu (1.9 GiB / 1.9 GiB)
- Lunghezza del contesto predefinita
- 4096
Impostazioni (variabili d'ambiente)
- OLLAMA_HOST
- http://0.0.0.0:11434
- OLLAMA_CONTEXT_LENGTH
- 0 (0 = predefinito)
- OLLAMA_NUM_PARALLEL
- 1
- OLLAMA_MAX_LOADED_MODELS
- 0 (0 = predefinito)
- OLLAMA_KEEP_ALIVE
- 5m0s
- OLLAMA_FLASH_ATTENTION
- false
Caricamenti di modelli
Caricamento 1 alle 2026-11-07T08:32:08.625Z riga 14
- Modello
- Qwen2.5 0.5B Instruct · Q4_K - Medium · 373.71 MiB (6.35 BPW) · sha256-c5396e06af29
- Lunghezza del contesto
- 4096 (addestrato per 32768)
- Richieste parallele
- 1
- Pesi
- 512 MiB
- Cache KV
- 48.0 MiB (f16)
- Buffer di calcolo
- 41.3 MiB
- Totale
- 601 MiB
- Per dispositivo
- CPU 393 MiB, CPU_REPACK 208 MiB
- Memoria di sistema
- 1638 MiB liberi su 1946 MiB, swap 777 MiB libero
- Tempo di avvio
- 1.27 s
Caricamento 2 alle 2026-11-07T08:32:10.384Z riga 34
- Modello
- Qwen2.5 0.5B Instruct · Q4_K - Medium · 373.71 MiB (6.35 BPW) · sha256-c5396e06af29
- Lunghezza del contesto
- 256 (addestrato per 32768)
- Richieste parallele
- 1
- Pesi
- 512 MiB
- Cache KV
- 3.0 MiB (f16)
- Buffer di calcolo
- 18.8 MiB
- Totale
- 533 MiB
- Per dispositivo
- CPU 325 MiB, CPU_REPACK 208 MiB
- Memoria di sistema
- 1638 MiB liberi su 1946 MiB, swap 763 MiB libero
- Tempo di avvio
- 1.02 s
Caricamento 3 alle 2026-11-07T08:32:12.223Z riga 59
- Modello
- Qwen2.5 0.5B Instruct · Q4_K - Medium · 373.71 MiB (6.35 BPW) · sha256-c5396e06af29
- Lunghezza del contesto
- 32768 (addestrato per 32768)
- Richieste parallele
- 1
- Pesi
- 512 MiB
- Cache KV
- 384 MiB (f16)
- Buffer di calcolo
- 139 MiB
- Totale
- 1034 MiB
- Per dispositivo
- CPU 826 MiB, CPU_REPACK 208 MiB
- Memoria di sistema
- 1638 MiB liberi su 1946 MiB, swap 764 MiB libero
- Tempo di avvio
- 1.02 s
Velocità riportata da llama-server
| Token del prompt elaborati | Velocità del prompt | Token generati | Velocità di generazione |
|---|---|---|---|
| 35 | 217.5 token/s | 7 | 59.9 token/s |
| 130 | 227.3 token/s | 11 | 94.8 token/s |
| 30 | 202.7 token/s | 5 | 62.7 token/s |
Richieste
| Ora | Stato | Durata | Richiesta |
|---|---|---|---|
| 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 un prompt non sta, Ollama lo taglia a num_ctx − max((num_ctx − num_keep) ÷ 2, 1) token: circa metà del contesto, in modo che resti spazio per la risposta. I token del prompt nella tabella delle velocità contano solo i token che non erano nella cache.
llama-server non conta il primo token generato quando calcola la velocità di generazione, quindi il suo valore è un po' più basso di eval_count diviso eval_duration nella risposta dell'API.
Il formato del log cambia da una versione all'altra. Lo strumento segue Ollama v0.40.15 e la build di llama.cpp che usa, e salta le righe che non conosce.
Messaggi dal codice sorgente di Ollama (v0.40.15) e di llama.cpp, verificati con log reali di Ollama 0.40.11 su macOS e su Linux il 2026-11-07. Ollama: Troubleshooting
Tutto avviene nel tuo browser. Lo strumento non si collega a nulla. I log possono contenere percorsi di file, indirizzi IP e nomi di modelli.
Quando Ollama è lento, le risposte ignorano l'inizio di un prompt lungo o una richiesta fallisce con un errore 500, la spiegazione di solito è nel log del server. Il log mescola le righe di Ollama stesso (time=… level=… msg=…), una riga per ogni richiesta HTTP ([GIN] …) e l'output di llama-server, il programma di llama.cpp che Ollama esegue per caricare ogni modello GGUF. Questo strumento legge tutte e tre le cose. Per ogni caricamento di modello mostra la lunghezza del contesto (-c), il numero di richieste parallele (-np), il tipo e la dimensione del file del modello, la lunghezza del contesto con cui è stato addestrato, quanti layer sono stati scaricati sulla GPU, e la memoria dei pesi, della cache KV e dei buffer di calcolo, per dispositivo. Elenca anche le richieste con il loro stato e la loro durata, e la velocità del prompt e della generazione che llama-server stampa dopo ogni richiesta. Poi spiega che cosa è andato storto, usando i messaggi del codice sorgente di Ollama (v0.40.15). Quando un prompt non sta nel contesto, Ollama conserva i primi num_keep token e la fine del prompt, e scarta ciò che sta in mezzo, finché il prompt occupa circa metà del contesto: nel nostro test, un prompt di 633 token con num_ctx 256 è stato tagliato a 130 token. Con truncate impostato a false, la stessa richiesta è stata rifiutata con un errore 400. Un num_ctx superiore alla lunghezza con cui il modello è stato addestrato viene ridotto a quella lunghezza. Quando un modello non entra in memoria, il caricamento fallisce: nel nostro test su Linux con 1.9 GiB di memoria e senza GPU, qwen2.5:7b aveva bisogno di 4,460 MiB per i pesi, llama-server è stato fermato con signal: killed e la richiesta ha restituito 500. Una riga che dice che llama-server è terminato, seguita subito da un nuovo avvio, significa che Ollama stava caricando di nuovo il modello con altre impostazioni, non che è andato in crash. Il formato del log cambia da una versione all'altra; lo strumento legge le righe che conosce e salta le altre. L'abbiamo verificato con log reali di Ollama 0.40.11 su macOS (Apple M1) e su Linux in Docker, senza GPU.
La logica principale di questo strumento è open source, con licenza MIT. github.com/seigo5555/toolkitbox-lib/src/ollama-log.ts
Casi d'uso
- Scoprire perché un prompt lungo sembra ignorato, o perché una richiesta è fallita con 400 o 500
- Vedere quanta memoria ha usato davvero un modello, e se è girato sulla GPU, sulla CPU o su entrambe
- Controllare quale lunghezza del contesto e quali impostazioni ha usato il server, prima di comprare un VPS più grande
Utilizzo
- Ottieni il log: cat ~/.ollama/logs/server.log su macOS, journalctl -u ollama --no-pager su Linux, oppure docker logs con il nome del container.
- Incollalo. Vengono lette anche le righe che iniziano con un timestamp di journalctl o di docker.
- Leggi prima gli avvisi, poi i caricamenti dei modelli, la velocità e le richieste.
FAQ
Perché il mio modello ignora l'inizio di un prompt lungo?
Se il log contiene una riga "truncating input prompt", il prompt non stava nel contesto. Ollama ha conservato i primi num_keep token e la fine, e ha scartato la parte centrale, finché il prompt ha occupato circa metà del contesto. Aumenta num_ctx (o OLLAMA_CONTEXT_LENGTH), accorcia il prompt, oppure invia truncate impostato a false, così Ollama restituisce un errore invece di tagliare.
Che cosa significa "signal: killed"?
llama-server è stato fermato dall'esterno. Nel nostro test su Linux, è successo mentre si caricava un modello che non entrava in memoria, e la richiesta ha restituito 500. Se entro due secondi segue una nuova riga "starting llama-server", è stato Ollama stesso a fermare il vecchio processo per caricare di nuovo il modello con altre impostazioni.
Perché la velocità di generazione nel log è inferiore a eval_count diviso eval_duration?
llama-server non conta il primo token generato, perché arriva dall'ultimo passo dell'elaborazione del prompt, quindi divide per un token in meno. Nel nostro test, 7 token in 675.82 ms sono stati indicati come 8.88 token al secondo, mentre 7 diviso lo stesso tempo dà 10.4.
Come vedo se il modello è girato sulla GPU?
Guarda "layer sulla GPU" nel caricamento del modello. Tutti i layer sulla GPU significa che il modello è girato interamente lì; alcuni layer significa che il resto è girato sulla CPU. Finché il modello è caricato, ollama ps mostra la stessa suddivisione nella colonna PROCESSOR.
Perché alcune righe non vengono lette?
Lo strumento legge le righe di Ollama stesso, le righe delle richieste e le righe di llama-server che contano per memoria, contesto e velocità. Le altre righe, come l'elenco dei metadati del modello, vengono saltate. Il formato cambia tra le versioni, quindi le righe di una versione molto più vecchia o più nuova potrebbero non essere riconosciute.
Il mio log viene inviato da qualche parte?
No. Il log viene letto nel tuo browser. I log possono contenere percorsi di file, indirizzi IP e i nomi dei tuoi modelli, quindi fai attenzione a dove altro li incolli.
Articoli correlati
- Tenere d'occhio la memoria di Ollama su una piccola VPSScopri cosa Ollama tiene in memoria, per quanto tempo e quali impostazioni lo cambiano: ollama ps, keep_alive e i limiti, dalle FAQ ufficiali.
- Collegare Dify a Ollama sul proprio VPSEsegui Dify sul tuo VPS e usa Ollama come modello: installazione, campi del plugin, il problema dell'indirizzo in Docker e gli embedding, dalla documentazione ufficiale.
- Avviare un LLM locale senza un PC costoso: guida per principianti all'uso di una VPSNon hai un PC potente? Affitta una VPS ed esegui un piccolo LLM locale dal browser: sei passaggi, dalla stima della memoria a una chat protetta, con i limiti dichiarati con onestà.