== gdnoff-1 ==
12:37:14 INFO    compile-warmup ledger: 134.0s total, 12 dynamo frame compile(s) — decode-compile 3.1s/4f · megacache-save 0.6s/0f · prefill-multirow 3.9s/5f · prefill-single-row 2.3s/2f · tkv-cute-prewarm 123.2s/0f · decode-recurrent 0.8s/1f · verify-hidden 0.2s/0f (step seconds/frames; a frame is a Dynamo trace, which the Inductor caches do NOT skip — they cover the backend only)
12:38:34 INFO    Boot: KV cache ready at 4.02 GiB (17% of 23.52 GiB) — 911 pages × 256 tok/page = 233216 servable tokens, free 0.16 GiB (1% of 23.52 GiB)
  NOTE: the address_space.released_pool_va row (964M; cuMem tracked-but-unmapped 964M) is VA whose PHYSICAL IS ALREADY BACK with the driver — a pool this boot destroyed (release_empty_pool -> cuMemUnmap/cuMemRelease) whose torch segment records outlive the release. It reads reserved AND fully-free and is neither: those bytes were already grown into KV, and empty_cache returning 0 for them is the correct result, not a missed reclaim.
12:39:03 INFO    Boot: ready in 616.5s — serving now. GPU memory: KV cache 4.02 GiB (17% of 23.52 GiB), free 0.15 GiB (1% of 23.52 GiB) (memory locked — won't grow while serving).
