ZFS ARC cap configuration on Proxmox VE with undefined VM memory headroom
0 reputation · 10 Nov 2021, 18:48 UTC
Proxmox VE hosts using ZFS for storage rely on the Adaptive Replacement Cache for read caching. By default ARC can consume a large share of host RAM, which creates tension with memory allocated to VMs and containers. The goal is to select an ARC limit that preserves guest memory availability while retaining ZFS read performance.
There is no single documented correct cap. The appropriate value depends on workload read patterns, total RAM, and acceptable hit ratio. ARC pressure is observable via kernel statistics, but translating those observations into a safe persistent limit involves a workload-specific trade-off. Default sizing behavior also varies with the OpenZFS version shipped with Proxmox VE releases.
What measurement indicates ARC is the primary memory bottleneck for VMs rather than another subsystem? How should an acceptable ARC hit ratio be balanced against guaranteed VM memory headroom? What is the documented permission boundary for changing the ARC maximum on a production Proxmox VE host?