TL;DR
PCIeパススルー/VFIOを使用中のVMはメモリバルーニングが行われない
公式doc
https://pve.proxmox.com/wiki/Dynamic_Memory_Management#Ballooning
原文
Note that if you are passing through a physical PCI(e) device or a Virtual Function I/O (VFIO) Mediated device (MDEV) such as a vGPU, then ballooning will not work since these devices are mapped to fixed memory addresses in the host and in the guest. If you do enable ballooning, the KVM process will not release the memory back to the host but the guest may report a reduced memory availability which can be manually recovered using the KVM monitor using the balloon command.
意訳
PCIeとかvGPUみたいなVFIOデバイスをパススルー中は、ホストとゲストの固定メモリに対してマッピングされるからバルーニングは機能しないよ。
バルーニングを有効にしても問題ないけど、ゲストで可用性の低下レポートが出るかもね。
メモ
Nextcloud用のVMに対して、48GBくらいメモリを割り当てていた。
今まではバルーニングのおかげで、ゲストで使用しているメモリの分だけホスト側のメモリが消費されるような挙動だった。
ところが、JellyfinでHWAを使うためにGPUをVMに渡したところ、ゲストに設定したメモリ分をホスト側も固定で消費しているような挙動になったので調査した。