Bash-Script zur VRAM/RAM-Analyse von llama.cpp vorgestellt
Das Bash-Script entstand aus einem konkreten Alltagsproblem: Der Autor betreibt Gemma 4 MoE und Qwen 3.6 auf einem älteren Desktop-PC mit einer AMD Radeon RX 9060 XT (16 GB VRAM) und beklagte die unzuverlässigen Speicherangaben aus öffentlichen Quellen. Das Tool greift auf den Verbose-Modus von llama.cpp zurück (Flag `-v`) und parst dessen Ausgabe per `awk` und `sed`, um alle Buffer-Allokierungen nach Funktion und Backend (z. B. CPU vs. GPU) zu gruppieren und aufzusummieren. Kernstück ist eine `parse_buffer_line()`-Funktion, die Allokierungen mit Namen, Backend und Größe in MiB in eine TSV-Datei schreibt, sodass der Nutzer die VRAM/RAM-Aufteilung seines konkreten Setups quantitativ nachvollziehen kann. Ergänzend extrahiert `parse_stat_line()` Laufzeitmetriken wie Prompt-Tokens-per-Second (`pp_tps`), Generierungs-t/s (`tg_tps`), Kontextnutzung (`n_ctx`, `ctx_used`) sowie MTP-Acceptance-Rate und Statistiken zum Draft-Speculative-Decoding. Das Script ist auf Linux ausgelegt, erwartet eine Wrapper-Datei `run.sh` mit dem llama.cpp-Aufruf und nutzt konfigurierbare Umgebungsvariablen (`RUN_SCRIPT`, `LOG_FILE`, `MEM_FILE` usw.) für flexible Einbindung. Laut Autor wurde der Code per Vibe-Coding mit ChatGPT erstellt und gilt noch als Work-in-Progress, insbesondere beim sauberen Shutdown-Verhalten.
- Hardware des Autors: AMD Radeon RX 9060 XT mit 16 GB VRAM in einem älteren Desktop-PC.
- Das Script legt vier temporäre TSV-Dateien an: llama-run.log, llama-mem.tsv, llama-stats.tsv und llama-info.tsv.
- MTP-Metriken werden separat ausgewertet: Acceptance-Rate, Anzahl generierter/akzeptierter Draft-Tokens und mittlere Akzeptanzlänge.
- Modellname und Quantisierungsstufe werden automatisch aus dem llama.cpp-Log extrahiert und in llama-info.tsv gespeichert.
- Der Autor nennt als bekannte Schwäche das noch nicht robuste Shutdown-Handling des Skripts.
Frag die KI zum Artikel
Folgefragen zu Headline, Quelle und Volltext — Antwort streamt in wenigen Sekunden.
Verwandte Beiträge
Bash-Script zur VRAM/RAM-Analyse von llama.cpp vorgestellt
Das Bash-Script entstand aus einem konkreten Alltagsproblem: Der Autor betreibt Gemma 4 MoE und Qwen 3.6 auf einem älteren Desktop-PC mit einer AMD Radeon RX 9060 XT (16 GB VRAM) und beklagte die unzuverlässigen Speicherangaben aus öffentlichen Quellen. Das Tool greift auf den Verbose-Modus von llama.cpp zurück (Flag `-v`) und parst dessen Ausgabe per `awk` und `sed`, um alle Buffer-Allokierungen nach Funktion und Backend (z. B. CPU vs. GPU) zu gruppieren und aufzusummieren. Kernstück ist eine `parse_buffer_line()`-Funktion, die Allokierungen mit Namen, Backend und Größe in MiB in eine TSV-Datei schreibt, sodass der Nutzer die VRAM/RAM-Aufteilung seines konkreten Setups quantitativ nachvollziehen kann. Ergänzend extrahiert `parse_stat_line()` Laufzeitmetriken wie Prompt-Tokens-per-Second (`pp_tps`), Generierungs-t/s (`tg_tps`), Kontextnutzung (`n_ctx`, `ctx_used`) sowie MTP-Acceptance-Rate und Statistiken zum Draft-Speculative-Decoding. Das Script ist auf Linux ausgelegt, erwartet eine Wrapper-Datei `run.sh` mit dem llama.cpp-Aufruf und nutzt konfigurierbare Umgebungsvariablen (`RUN_SCRIPT`, `LOG_FILE`, `MEM_FILE` usw.) für flexible Einbindung. Laut Autor wurde der Code per Vibe-Coding mit ChatGPT erstellt und gilt noch als Work-in-Progress, insbesondere beim sauberen Shutdown-Verhalten.
- Hardware des Autors: AMD Radeon RX 9060 XT mit 16 GB VRAM in einem älteren Desktop-PC.
- Das Script legt vier temporäre TSV-Dateien an: llama-run.log, llama-mem.tsv, llama-stats.tsv und llama-info.tsv.
- MTP-Metriken werden separat ausgewertet: Acceptance-Rate, Anzahl generierter/akzeptierter Draft-Tokens und mittlere Akzeptanzlänge.
- Modellname und Quantisierungsstufe werden automatisch aus dem llama.cpp-Log extrahiert und in llama-info.tsv gespeichert.
- Der Autor nennt als bekannte Schwäche das noch nicht robuste Shutdown-Handling des Skripts.
Frag die KI zum Artikel
Folgefragen zu Headline, Quelle und Volltext — Antwort streamt in wenigen Sekunden.