frank-large: ship HALOGEN_VERBOSE=1 for permanent startup evidence
Verbose engine logging is the vendor's first-line evidence for load, allocation and admission questions; shipping it on means an incident report already carries the full startup account instead of needing a restart-into-debug. HALOGEN_DMALLOC_LOG stays off (every alloc >64MB is steady-state noise on a shared host). Doc updated with the rootless podman-logs-vs-journalctl retrieval note.
This commit is contained in:
1 parent
701ab14f60
commit
9530bffad6
2 files changed
+19
-3
No files matched your search
@@ -97,6 +97,13 @@ Environment=HALOGEN_KV_SLOTS=4
|
|||||||
Environment=HALOGEN_HOST_RESERVE_GIB=24
|
Environment=HALOGEN_HOST_RESERVE_GIB=24
|
||||||
# Image input (the sidecar ships inside the weights repo).
|
# Image input (the sidecar ships inside the weights repo).
|
||||||
Environment=HALOGEN_VISION_TOWER=1
|
Environment=HALOGEN_VISION_TOWER=1
|
||||||
|
# Verbose engine logging: the vendor's first-line evidence for load,
|
||||||
|
# allocation and admission questions. Shipping it on means an incident report
|
||||||
|
# already has the full startup account instead of needing a restart-into-debug.
|
||||||
|
# HALOGEN_DMALLOC_LOG is deliberately NOT set — it logs every allocation
|
||||||
|
# over 64 MB, which is steady-state noise here; raise it only for a live
|
||||||
|
# OOM hunt.
|
||||||
|
Environment=HALOGEN_VERBOSE=1
|
||||||
# Required by the image: the engine maps the checkpoint and registers it with
|
# Required by the image: the engine maps the checkpoint and registers it with
|
||||||
# the GPU in place, which needs host IPC and an unconfined seccomp profile.
|
# the GPU in place, which needs host IPC and an unconfined seccomp profile.
|
||||||
PodmanArgs=--ipc=host --security-opt seccomp=unconfined
|
PodmanArgs=--ipc=host --security-opt seccomp=unconfined
|
||||||
|
|||||||
@@ -83,6 +83,7 @@ upstream's defaults:
|
|||||||
| `HALOGEN_HOST_RESERVE_GIB` | `24` | RAM kept for the n-gram table the engine reads through the page cache — above upstream's 20 because a dozen containers share this host |
|
| `HALOGEN_HOST_RESERVE_GIB` | `24` | RAM kept for the n-gram table the engine reads through the page cache — above upstream's 20 because a dozen containers share this host |
|
||||||
| `HALOGEN_VISION_TOWER` | `1` | image input; the fleet's only image path since [[frank-npu]] was retired |
|
| `HALOGEN_VISION_TOWER` | `1` | image input; the fleet's only image path since [[frank-npu]] was retired |
|
||||||
| `HALOGEN_DOWNLOAD` | `peonist-ai/halogen-qwen3.8-flash-next` | first-start fetch |
|
| `HALOGEN_DOWNLOAD` | `peonist-ai/halogen-qwen3.8-flash-next` | first-start fetch |
|
||||||
|
| `HALOGEN_VERBOSE` | `1` | verbose engine logging — the fullest startup account, on permanently so an incident report needs no restart-into-debug |
|
||||||
|
|
||||||
Everything else is upstream's default, deliberately: prompt cache mode `2`
|
Everything else is upstream's default, deliberately: prompt cache mode `2`
|
||||||
(two entries per conversation — end-of-system-prompt and end-of-history — which
|
(two entries per conversation — end-of-system-prompt and end-of-history — which
|
||||||
@@ -210,14 +211,22 @@ it stays unhealthy by design.
|
|||||||
| both the engine and a co-tenant stall for minutes at full CPU | the pinned-trunk trade; see Memory model |
|
| both the engine and a co-tenant stall for minutes at full CPU | the pinned-trunk trade; see Memory model |
|
||||||
| `free`, `MemAvailable`, Grafana all wrong by ~68 GiB | expected — locked weights are counted as reclaimable |
|
| `free`, `MemAvailable`, Grafana all wrong by ~68 GiB | expected — locked weights are counted as reclaimable |
|
||||||
|
|
||||||
`HALOGEN_VERBOSE=1` and `HALOGEN_DMALLOC_LOG=1` print the fullest startup
|
`HALOGEN_VERBOSE=1` ships in the unit, so the fullest startup account is
|
||||||
account and every allocation over 64 MB; both are the vendor's suggested
|
already in the log when something goes wrong. `HALOGEN_DMALLOC_LOG` is
|
||||||
evidence to attach to a report. The two lines worth grepping first:
|
deliberately **not** set: it logs every allocation over 64 MB, which is
|
||||||
|
steady-state noise on a shared host — raise it only for a live OOM report.
|
||||||
|
The lines worth grepping first:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
podman logs frank-large 2>&1 | grep -E '^(dmalloc|kv pool):'
|
podman logs frank-large 2>&1 | grep -E '^(dmalloc|kv pool):'
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Retrieval: `podman logs frank-large` covers the **current** instance only —
|
||||||
|
the Quadlet runs `--replace --rm`, so everything before the last recreate is
|
||||||
|
gone from the container log. `journalctl --user -u frank-large.service` is
|
||||||
|
the durable record. Both are rootless: `sudo podman logs frank-large` looks
|
||||||
|
in root's storage and answers "no such container".
|
||||||
|
|
||||||
## Rollback
|
## Rollback
|
||||||
|
|
||||||
The llama.cpp era is intact: the STRIX payload stays at
|
The llama.cpp era is intact: the STRIX payload stays at
|
||||||
|
|||||||
Reference in new issue
Block a user