Overcomitting RAM

masgo

Well-Known Member
Jun 24, 2019
68
15
48
74
What happens if I overcomit RAM?

Lets assume a Server with 64 GB RAM. Let us "reserve" 32 GB for proxmox+ZFS. This leaves 32 GB for VMs.
What will happen if I put 10 Windows 10 VMs, each with 2 GB min and 8 GB max RAM on it? With Guest Agent and Balooning installed.

Obviously, this will use at least10 * 2 = 20 GB when the VMs are running. A typical Win10 VM usually sits quite happy at below 2 GB RAM usage and only occasionally needs more (e.g., for Upgrades). If I assume that not all will need more at the same time, things are fine, right?

What will happen if my assumption is wrong? If all of them want more RAM (more or less) at the same time? Will the balooning driver hinder them? Giving the same outcome as for every other Windows 10 where the RAM gets full, or will something else happen?

Will the RAM be split evenly among the VMs? e.g. each will get ~ 3 GB? Or will the first few get 8 GB and the other will have to deal with 2 GB?
 
specific to windows, when windows boot, it's filling the memory with zero block (so it's reserving the memory from hypervisor view).
but you have the ksm feature, running at 80% memory usage, to deduplicate memory block (zero block, and common lib used in windows vms)

also balloning will help too.

but if you start all your windows at the same time, it'll take some time to retrieve memory at hypervisor side.

just check kvm process memory usage at windows boot to be sure.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!