Hi,
I got 64GB RAM and allocated 74GB to my VMs and 8GB ARC Cache which is basically fine and I'm at around 70% RAM usage.
What are you doing to optimize the RAM?
I set KSM to start at 60% RAM usage so it will start deduplication before swapping. This will save around 11GB RAM.
I set swappiness to 1 so it will only swap late if the RAM gets really full.
What I don't understand is threshold for the balooning. I saw some VMs swapping, looked at the VMs RAM usage in Proxmox GUI and there was enough RAM free. Then I ran "top" inside the VM and saw that the VM only got 4GB RAM and Proxmox reported 8GB. So the balooning changed the VMs RAM from the maximum 8GB to the minimum of 4GB what wasn't enough for the VMs using 7GB RAM before.
When does the balooning start to limit the VMs RAM? Is there a fixed threshold?
And I wasn't able to limit the caching of the VMs. I'm running 13 Debian VMs and all of them try to use up to 90-95% of the available RAM for caching (using kvm cache mode=none). Some VMs need alot of RAM but that only for short times but after that they don't try to free the cached data so it would be available again for the other VMs.
That behavior is really annoying if you try to overprovisionize the RAM. How are you handling this?
I got 64GB RAM and allocated 74GB to my VMs and 8GB ARC Cache which is basically fine and I'm at around 70% RAM usage.
What are you doing to optimize the RAM?
I set KSM to start at 60% RAM usage so it will start deduplication before swapping. This will save around 11GB RAM.
I set swappiness to 1 so it will only swap late if the RAM gets really full.
What I don't understand is threshold for the balooning. I saw some VMs swapping, looked at the VMs RAM usage in Proxmox GUI and there was enough RAM free. Then I ran "top" inside the VM and saw that the VM only got 4GB RAM and Proxmox reported 8GB. So the balooning changed the VMs RAM from the maximum 8GB to the minimum of 4GB what wasn't enough for the VMs using 7GB RAM before.
When does the balooning start to limit the VMs RAM? Is there a fixed threshold?
And I wasn't able to limit the caching of the VMs. I'm running 13 Debian VMs and all of them try to use up to 90-95% of the available RAM for caching (using kvm cache mode=none). Some VMs need alot of RAM but that only for short times but after that they don't try to free the cached data so it would be available again for the other VMs.
That behavior is really annoying if you try to overprovisionize the RAM. How are you handling this?