~/tools / Ein lokales LLM auf dem eigenen Server / Ollama Log Reader
Ollama Log Reader — Ollama-Server-Log lesen: Speicher, GPU-Schichten, Kontext, Tempo, Warnungen
Fügen Sie das Server-Log von Ollama ein, aus server.log, journalctl oder docker logs, und das Tool zieht heraus, worauf es ankommt: wie viel Speicher jedes Laden eines Modells gebraucht hat und wo (Gewichte, KV-Cache, Compute-Puffer, je CPU oder GPU), wie viele Schichten auf die GPU gingen, die Kontextlänge, die Anfragen mit ihrem Status, die Geschwindigkeit bei Prompt und Generierung und jede Warnung samt Erklärung. Es zeigt, wann ein Prompt gekürzt wurde, damit er in den Kontext passt, wann ein Modell nicht in den Speicher passte und wann Ollama ein Modell neu geladen hat. Nichts verlässt Ihren Browser.
Wo Sie das Log finden
Von der Troubleshooting-Seite von Ollama. Unter Windows ist das neueste Log die Datei server.log in diesem Ordner.
# macOS cat ~/.ollama/logs/server.log # Linux (systemd) journalctl -u ollama --no-pager # Docker docker logs <container-name> # Windows explorer %LOCALAPPDATA%\Ollama
76 von 77 Zeilen gelesen.
- Zeile 23Der Kontext beträgt 4096 Tokens und ist kürzer als die 32768, die das Modell unterstützt. Längere Eingaben brauchen ein größeres num_ctx oder OLLAMA_CONTEXT_LENGTH und mehr Speicher für den KV-Cache.
- Zeile 43Der Kontext beträgt 256 Tokens und ist kürzer als die 32768, die das Modell unterstützt. Längere Eingaben brauchen ein größeres num_ctx oder OLLAMA_CONTEXT_LENGTH und mehr Speicher für den KV-Cache.
- Zeile 49Der Prompt hatte 633 Tokens und passte nicht in den Kontext. Ollama hat die ersten 4 Tokens und das Ende des Prompts behalten und den Rest verworfen, sodass 130 Tokens übrig blieben. Erhöhen Sie num_ctx, kürzen Sie den Prompt oder senden Sie truncate auf false, um stattdessen einen Fehler zu erhalten.
- Zeile 53Eine Anfrage mit 633 Tokens passte nicht in den Kontext von 256 Tokens und wurde abgelehnt (das passiert, wenn truncate auf false steht). Erhöhen Sie num_ctx oder kürzen Sie die Eingabe.
- Zeile 55Ollama hat llama-server gestoppt und sofort neu gestartet, um das Modell mit anderen Einstellungen zu laden, zum Beispiel einem anderen num_ctx. Das ist kein Absturz.
- Zeile 58num_ctx 65536 ist länger als der Kontext, für den das Modell trainiert wurde, daher hat Ollama 32768 verwendet.
- Fehlgeschlagene Anfragen: 400 POST /api/chat, 404 POST /api/chat
Server
- Version
- 0.40.11
- Adresse
- [::]:11434
- Geräte
- cpu cpu (1.9 GiB / 1.9 GiB)
- Standard-Kontextlänge
- 4096
Einstellungen (Umgebungsvariablen)
- OLLAMA_HOST
- http://0.0.0.0:11434
- OLLAMA_CONTEXT_LENGTH
- 0 (0 = Standard)
- OLLAMA_NUM_PARALLEL
- 1
- OLLAMA_MAX_LOADED_MODELS
- 0 (0 = Standard)
- OLLAMA_KEEP_ALIVE
- 5m0s
- OLLAMA_FLASH_ATTENTION
- false
Laden von Modellen
Ladevorgang 1 um 2026-11-07T08:32:08.625Z Zeile 14
- Modell
- Qwen2.5 0.5B Instruct · Q4_K - Medium · 373.71 MiB (6.35 BPW) · sha256-c5396e06af29
- Kontextlänge
- 4096 (trainiert für 32768)
- Parallele Anfragen
- 1
- Gewichte
- 512 MiB
- KV-Cache
- 48.0 MiB (f16)
- Compute-Puffer
- 41.3 MiB
- Gesamt
- 601 MiB
- Nach Gerät
- CPU 393 MiB, CPU_REPACK 208 MiB
- Systemspeicher
- 1638 MiB frei von 1946 MiB, Swap 777 MiB frei
- Startzeit
- 1.27 s
Ladevorgang 2 um 2026-11-07T08:32:10.384Z Zeile 34
- Modell
- Qwen2.5 0.5B Instruct · Q4_K - Medium · 373.71 MiB (6.35 BPW) · sha256-c5396e06af29
- Kontextlänge
- 256 (trainiert für 32768)
- Parallele Anfragen
- 1
- Gewichte
- 512 MiB
- KV-Cache
- 3.0 MiB (f16)
- Compute-Puffer
- 18.8 MiB
- Gesamt
- 533 MiB
- Nach Gerät
- CPU 325 MiB, CPU_REPACK 208 MiB
- Systemspeicher
- 1638 MiB frei von 1946 MiB, Swap 763 MiB frei
- Startzeit
- 1.02 s
Ladevorgang 3 um 2026-11-07T08:32:12.223Z Zeile 59
- Modell
- Qwen2.5 0.5B Instruct · Q4_K - Medium · 373.71 MiB (6.35 BPW) · sha256-c5396e06af29
- Kontextlänge
- 32768 (trainiert für 32768)
- Parallele Anfragen
- 1
- Gewichte
- 512 MiB
- KV-Cache
- 384 MiB (f16)
- Compute-Puffer
- 139 MiB
- Gesamt
- 1034 MiB
- Nach Gerät
- CPU 826 MiB, CPU_REPACK 208 MiB
- Systemspeicher
- 1638 MiB frei von 1946 MiB, Swap 764 MiB frei
- Startzeit
- 1.02 s
Von llama-server gemeldete Geschwindigkeit
| Verarbeitete Prompt-Tokens | Prompt-Geschwindigkeit | Generierte Tokens | Generierungsgeschwindigkeit |
|---|---|---|---|
| 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 |
Anfragen
| Zeit | Status | Dauer | Anfrage |
|---|---|---|---|
| 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 |
Wenn ein Prompt nicht passt, kürzt Ollama ihn auf num_ctx − max((num_ctx − num_keep) ÷ 2, 1) Tokens: etwa die Hälfte des Kontexts, damit noch Platz für die Antwort bleibt. Die Prompt-Tokens in der Geschwindigkeitstabelle zählen nur die Tokens, die nicht im Cache waren.
llama-server zählt das erste generierte Token bei der Berechnung der Generierungsgeschwindigkeit nicht mit, daher liegt sein Wert etwas unter eval_count geteilt durch eval_duration in der API-Antwort.
Das Log-Format ändert sich von Version zu Version. Das Tool folgt Ollama v0.40.15 und dem llama.cpp-Build, den es verwendet, und überspringt Zeilen, die es nicht kennt.
Meldungen aus dem Quellcode von Ollama (v0.40.15) und llama.cpp, geprüft an echten Logs von Ollama 0.40.11 unter macOS und unter Linux am 2026-11-07. Ollama: Troubleshooting
Alles geschieht in Ihrem Browser. Das Tool verbindet sich mit nichts. Logs können Dateipfade, IP-Adressen und Modellnamen enthalten.
Wenn Ollama langsam ist, Antworten den Anfang eines langen Prompts ignorieren oder eine Anfrage mit einem 500-Fehler scheitert, steht die Erklärung meist im Server-Log. Das Log mischt Ollamas eigene Zeilen (time=… level=… msg=…), eine Zeile pro HTTP-Anfrage ([GIN] …) und die Ausgabe von llama-server, dem llama.cpp-Programm, mit dem Ollama jedes GGUF-Modell lädt. Dieses Tool liest alle drei. Für jedes Laden eines Modells zeigt es die Kontextlänge (-c), die Zahl paralleler Anfragen (-np), Dateityp und Größe des Modells, die Kontextlänge, für die es trainiert wurde, wie viele Schichten auf die GPU ausgelagert wurden und den Speicher für die Gewichte, den KV-Cache und die Compute-Puffer, je Gerät. Es listet außerdem die Anfragen mit Status und Dauer auf sowie die Prompt- und Generierungsgeschwindigkeit, die llama-server nach jeder Anfrage ausgibt. Danach erklärt es, was schiefgelaufen ist, anhand der Meldungen im Quellcode von Ollama (v0.40.15). Wenn ein Prompt nicht in den Kontext passt, behält Ollama die ersten num_keep Tokens und das Ende des Prompts und verwirft, was dazwischen liegt, bis der Prompt etwa die Hälfte des Kontexts belegt: In unserem Test wurde ein Prompt mit 633 Tokens bei num_ctx 256 auf 130 Tokens gekürzt. Mit truncate auf false wurde dieselbe Anfrage mit einem 400-Fehler abgelehnt. Ein num_ctx über der Länge, für die das Modell trainiert wurde, wird auf diese Länge gesenkt. Wenn ein Modell nicht in den Speicher passt, schlägt das Laden fehl: In unserem Test unter Linux mit 1.9 GiB Speicher und ohne GPU brauchte qwen2.5:7b für seine Gewichte 4,460 MiB, llama-server wurde mit signal: killed gestoppt, und die Anfrage lieferte 500. Eine Zeile, die besagt, dass llama-server beendet wurde, gefolgt von einem sofortigen Neustart, bedeutet, dass Ollama das Modell mit anderen Einstellungen erneut geladen hat, und nicht, dass es abgestürzt ist. Das Format des Logs ändert sich von Version zu Version; das Tool liest die Zeilen, die es kennt, und überspringt den Rest. Wir haben es mit echten Logs von Ollama 0.40.11 unter macOS (Apple M1) und unter Linux in Docker ohne GPU geprüft.
Die Kernlogik dieses Tools ist Open Source unter der MIT-Lizenz. github.com/seigo5555/toolkitbox-lib/src/ollama-log.ts
Anwendungsfälle
- Herausfinden, warum ein langer Prompt scheinbar ignoriert wird oder warum eine Anfrage mit 400 oder 500 scheiterte
- Sehen, wie viel Speicher ein Modell wirklich belegt hat und ob es auf der GPU, der CPU oder auf beiden lief
- Prüfen, welche Kontextlänge und welche Einstellungen der Server verwendet hat, bevor Sie einen größeren VPS kaufen
Verwendung
- Holen Sie sich das Log: cat ~/.ollama/logs/server.log unter macOS, journalctl -u ollama --no-pager unter Linux oder docker logs mit dem Namen des Containers.
- Fügen Sie es ein. Zeilen, die mit einem Zeitstempel von journalctl oder docker beginnen, werden ebenfalls gelesen.
- Lesen Sie zuerst die Warnungen, dann das Laden der Modelle, die Geschwindigkeit und die Anfragen.
FAQ
Warum ignoriert mein Modell den Anfang eines langen Prompts?
Wenn das Log eine Zeile „truncating input prompt“ enthält, passte der Prompt nicht in den Kontext. Ollama hat die ersten num_keep Tokens und das Ende behalten und die Mitte verworfen, bis der Prompt etwa die Hälfte des Kontexts belegte. Erhöhen Sie num_ctx (oder OLLAMA_CONTEXT_LENGTH), kürzen Sie den Prompt oder senden Sie truncate auf false, damit Ollama einen Fehler zurückgibt, statt zu kürzen.
Was bedeutet „signal: killed“?
llama-server wurde von außen gestoppt. In unserem Test unter Linux geschah das, während ein Modell geladen wurde, das nicht in den Speicher passte, und die Anfrage lieferte 500. Wenn innerhalb von zwei Sekunden eine neue Zeile „starting llama-server“ folgt, hat Ollama den alten Prozess selbst gestoppt, um das Modell mit anderen Einstellungen neu zu laden.
Warum ist die Generierungsgeschwindigkeit im Log niedriger als eval_count geteilt durch eval_duration?
llama-server zählt das erste generierte Token nicht mit, weil es aus dem letzten Schritt der Prompt-Verarbeitung stammt, und teilt daher durch ein Token weniger. In unserem Test wurden 7 Tokens in 675.82 ms mit 8.88 Tokens pro Sekunde angegeben, während 7 geteilt durch dieselbe Zeit 10.4 ergibt.
Wie sehe ich, ob das Modell auf der GPU lief?
Sehen Sie sich „Schichten auf der GPU“ beim Laden des Modells an. Alle Schichten auf der GPU bedeutet, dass das Modell vollständig dort lief; einige Schichten bedeuten, dass der Rest auf der CPU lief. Solange das Modell geladen ist, zeigt ollama ps dieselbe Aufteilung in der Spalte PROCESSOR.
Warum werden manche Zeilen nicht gelesen?
Das Tool liest Ollamas eigene Zeilen, die Anfragezeilen und die Zeilen von llama-server, die für Speicher, Kontext und Geschwindigkeit wichtig sind. Andere Zeilen, etwa die Liste der Modell-Metadaten, werden übersprungen. Das Format ändert sich zwischen Versionen, daher werden Zeilen aus einer viel älteren oder neueren Version unter Umständen nicht erkannt.
Wird mein Log irgendwohin gesendet?
Nein. Das Log wird in Ihrem Browser gelesen. Logs können Dateipfade, IP-Adressen und die Namen Ihrer Modelle enthalten, seien Sie daher vorsichtig, wo Sie sie sonst einfügen.
Passende Artikel
- Den Arbeitsspeicher von Ollama auf einem kleinen VPS im Blick behaltenSehen Sie, was Ollama im Arbeitsspeicher hält, wie lange es dort bleibt und welche Einstellungen das ändern: ollama ps, keep_alive und die Grenzwerte, nach den offiziellen FAQ.
- Dify mit Ollama auf Ihrem eigenen VPS verbindenBetreiben Sie Dify auf Ihrem eigenen VPS und nutzen Sie Ollama als Modell: Installation, die Plugin-Felder, das Adressproblem in Docker und Embeddings, nach der offiziellen Dokumentation.
- Ein lokales LLM ohne teuren PC starten: Einsteigerleitfaden für den Einsatz eines VPSKein leistungsstarker PC? Mieten Sie einen VPS und betreiben Sie ein kleines lokales LLM im Browser: sechs Schritte von der Speicherschätzung bis zur geschützten Chat-Oberfläche, mit ehrlich benannten Grenzen.