[pve-devel] [PATCH manager/docs 0/4] fix #2413: make target for ballooning configurable
Friedrich Weber
f.weber at proxmox.com
Wed Mar 12 16:15:02 CET 2025
Automatic memory allocation (ballooning) is implemented in pvestatd, which
assigns memory to or reclaims memory from eligible VMs in order to reach a
certain target memory usage on the host. The target is currently hardcoded at
80%. Users have reported [1] that this target is unnecessarily low on hosts
with large amounts of RAM.
This patch series makes the ballooning target configurable. For this, it adds a
new node config option `ballooning-target`. pvestatd then reads the target from
that option.
Some potential discussion points:
- Is it OK to have this as a node option? I imagine some users may want to set
different targets on different nodes. But other users may want to set one
target for the whole cluster. Should we have a `ballooning-target` datacenter
option that can be overridden by a `ballooning-target` node option? This might
be overkill for such a simple option, though.
- Instead of a `ballooning-target` option, should we go for some general
`ballooning-settings` with a property string like `target=80`, in case we want
to make other values (such as `$maxchange`, which is currently hardcoded at 100
MiB) configurable in the future too?
- In a mixed-version cluster where node 1 has this patch series and node 2
doesn't yet, any attempt to change node 2's ballooning target from node 1's GUI
will error out with `ballooning-target: property is not defined in schema`.
This is not very nice, but not terrible either, as the error message is
relatively descriptive. Still, is there an easy way to avoid this (checking
client-side whether the option exists?)
[1] https://bugzilla.proxmox.com/show_bug.cgi?id=2413
manager:
Friedrich Weber (3):
node: options: add config option for ballooning target
fix #2413: pvestatd: read ballooning RAM usage target from node config
ui: node options: allow editing the ballooning RAM usage target
PVE/NodeConfig.pm | 8 ++++++++
PVE/Service/pvestatd.pm | 10 +++++++---
www/manager6/node/NodeOptionsView.js | 18 ++++++++++++++++++
3 files changed, 33 insertions(+), 3 deletions(-)
docs:
Friedrich Weber (1):
pvenode: document ballooning-target node option
pvenode.adoc | 13 +++++++++++++
qm.adoc | 13 ++++++++-----
2 files changed, 21 insertions(+), 5 deletions(-)
Summary over all repositories:
5 files changed, 54 insertions(+), 8 deletions(-)
--
Generated by git-murpp 0.7.3
More information about the pve-devel
mailing list