reference finn console kvm memory high water mark 20260715T111619

Without a balloon driver, KVM hands the guest host pages as it touches them and never reclaims them, even after the guest frees them internally. Console (Proxmox VM 103 on Finn, allocated 80G via memory: 81920) shows this directly: guest-internal usage was 22G, but the Console KVM process held ~75G of Finn's RAM, because a prior compile storm touched Console up to ~93% (~73G) and that became the sticky high-water mark.

Why this matters: Finn's true committed load must be calculated as Console's full allocation (not its current internal usage) + the 11 LXCs (~12G) + Home Assistant VM (~4G) + Proxmox host overhead (~5G). On 2026-07-15 this math ruled out bumping Console from 80G to 95G (would commit ~116G of Finn's 126G with Frigate/Plex/Immich already spiking into swap); 88G was identified as the defensible ceiling if more Console headroom is ever needed.

The available lever is qm set 103 --balloon <min> to let Proxmox reclaim idle guest pages under host pressure, but the tradeoff is reclaim would slow Console builds exactly when they're heaviest (Console's whole job is bursty compiles) — decided against for now since pressure incidents have been inside Console, not on Finn.

How to apply: when reasoning about Finn's headroom or whether to grow Console's RAM allocation, use the full-allocation assumption, not free/htop output from inside Console. A VM restart (qm shutdown 103 && qm start 103) resets the high-water mark and will show Finn's used dropping sharply, then creeping back up with the next big build — that's expected, not a leak.

[auto-memory session 60d132de-4659-485c-8044-427af0ccce7f, confidence 0.72, mode staged]