f25f494f07
Operator-directed 2026-07-16: free ~10GB on ana-ml2 GPU1 to relocate a GPU0 model onto GPU1. granite-4.1-8b (fleet summarizer) was over-provisioned at util 0.34 / max-model-len 131072 with a flat 0.0% KV usage. Set GRANITE_GPU_MEM_UTIL 0.34 -> 0.18 and GRANITE_MAX_MODEL_LEN 131072 -> 65536 on the live /opt/docker/compose/vllm/.env (backup .env.bak-pre-granite-rightsize- 20260716), recreated vllm-granite ONLY (shared stack). Result: GPU1 62,641 -> 51,897 MiB used (~10.5GB freed, ~45GB free now); KV 6.45 GiB / 84,528 tok / 1.29x concurrency @ 65536; summarizer verified healthy. The util drop required the max-len drop: on this shared card the effective KV slope is ~950 MiB per 0.01 util, and vLLM refuses to start unless the KV pool holds >= 1x max-model-len -- util 0.15 undershot (est max-len 47184 < 65536, crash-loop, ~2-3 min summarizer outage) before 0.18 landed. 65536 is granite's precedented summarizer ctx; a summarizer doesn't need 131072. .env.example updated to the new util (max-len was already 65536 in the template; live had drifted to 131072). persistent-memory.md updated (parked item closed).