Proxmox VE Memory Calculator
Proxmox VE sizes a VM with two numbers: the memory it can grow to, and a minimum the balloon driver never takes away. Between the two, the host lends the VM memory while it has RAM to spare and reclaims it when it doesn't — the VM slows down rather than crashing, much like vSphere. This calculator sizes both from real usage, which helps when moving VMs over from VMware.
01 Usage data
Where do I get these numbers?
Measure from inside the guest — with ballooning active, the host's view reflects what Proxmox lent the VM, not what it needed. With node_exporter, run a range query over a representative period (a week is a good default):
node_memory_MemTotal_bytes{instance="vm1:9100"}
- node_memory_MemAvailable_bytes{instance="vm1:9100"}
Paste the Prometheus UI table output, the HTTP API JSON, or a Grafana CSV export.
Enter observed usage directly, in MiB.
02 Workload profile
Advanced: margins and defaults
Values the result relies on that are our own defaults, or vendor defaults your setup may change. Each “?” says how one moves the result; the guide says where it comes from.
03 Sizing gauge
04 qm command
—
05 How this was derived
How every number is calculated, with sources and assumptions (opens in a new tab) ↗
Result looks wrong? Report it
Memory and minimum memory in short
Memory is the RAM online for the VM, and the most it can have when the balloon device is used. Minimum memory (balloon) is the target RAM; 0 turns the balloon driver off. With the minimum lower than memory, Proxmox always keeps the minimum available and adds memory up to the maximum as the host allows. Proxmox docs
So the minimum comes from the average and memory from the peak, with margins that are MemoryLimit's own defaults, changeable under Advanced. Proxmox refuses a balloon value larger than the assigned memory, so memory is raised to the minimum when the two are close. The calculator assumes ballooning is on; with it off, set both values to the memory result.
When the host needs memory back, the guest's balloon driver gives it up, which can make the guest swap or, as a last resort, run its OOM killer. On Windows the driver has to be installed and isn't recommended for critical systems. Proxmox docs
Common input mistakes
- Measuring from the host: with ballooning active it shows what Proxmox lent the VM, not what the VM needed. Measure inside the guest.
- Keeping a lower minimum with ballooning off: the minimum only means something with the balloon driver.
- A window that misses the busiest times: memory comes out too low.
Full derivation, warnings and every assumption: how the Proxmox VE calculator works. The shared formula and margin tables: the sizing model.
Related calculators: