~/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-TokensPrompt-GeschwindigkeitGenerierte TokensGenerierungsgeschwindigkeit
35217.5 Tokens/s759.9 Tokens/s
130227.3 Tokens/s1194.8 Tokens/s
30202.7 Tokens/s562.7 Tokens/s

Anfragen

ZeitStatusDauerAnfrage
2026/11/07 - 08:31:422000.007 sGET /api/version
2026/11/07 - 08:32:0020017.49 sPOST /api/pull
2026/11/07 - 08:32:002000.040 sGET /api/tags
2026/11/07 - 08:32:102001.62 sPOST /api/chat
2026/11/07 - 08:32:122001.89 sPOST /api/chat
2026/11/07 - 08:32:124000.005 sPOST /api/chat
2026/11/07 - 08:32:132001.31 sPOST /api/chat
2026/11/07 - 08:32:134040.002 sPOST /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

  1. 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.
  2. Fügen Sie es ein. Zeilen, die mit einem Zeitstempel von journalctl oder docker beginnen, werden ebenfalls gelesen.
  3. 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

Ähnliche Tools