Vm Memory Use and Node Usage Doesn't Match

Suryansh5545

New Member
Mar 13, 2022
3
0
1
20
Hi, I have deployed a Win10 Vm on a 64 GB Ram node and have allocated it 32 gb. After installing the Balloon Drivers the VM shows correct memory usage but the node summary still shows the incorrect usage , no zfs used and cache/buffer is at 3700k only. I have tried old virtio drivers too . How can i fix this
 

Attachments

  • Screenshot 2022-03-13 161739.jpg
    Screenshot 2022-03-13 161739.jpg
    138.7 KB · Views: 48
  • Screenshot 2022-03-13 161746.jpg
    Screenshot 2022-03-13 161746.jpg
    95.6 KB · Views: 49
Are you using PCI(e) passthrough with that VM? Then all memory must be pinned into actual RAM because of possible DMA from the PCI(e) device.
 
Also keep in mind that Windows with guest agent will show RAM used page files as free. So if PVE is reporting for the VM 3GB of 32GB used it could actually be that the VM is using something like 30GB RAM but 27GB of that 30GB are used for caching. Then Windows will report only 3GB are used but in reality its 30GB. And the PVE node is then showing this 30GB and not the 3GB.
 
Also keep in mind that Windows with guest agent will show RAM used page files as free. So if PVE is reporting for the VM 3GB of 32GB used it could actually be that the VM is using something like 30GB RAM but 27GB of that 30GB are used for caching. Then Windows will report only 3GB are used but in reality its 30GB. And the PVE node is then showing this 30GB and not the 3GB.
So if i disable caching it should report true numbers?.
 
If you enough free memory on the host, the balloon will give the VM its maximum memory. If you start more VMs and the memory usage of the host goes to 80%, it will take memory away from the VM until it reaches the minimum for that VM (when the host memory is still 80% or more). That's how I think Dynamic Memory Allocation works on Proxmox.

EDIT: Type info balloon in the Monitor of the VM (just above the Backup tab). The actual probably shows around 32000 (in MiB) currently allocated for the VM, which explains why Proxmox is using more than 32GiB in total. Type balloon 16000 (or whatever you set as minimum memory) to reduce memory temporarily.
 
Last edited:
So if i disable caching it should report true numbers?.
You usually can't diable caching. Atleast with linux it isn't working. Not sure about Windows but I would wonder if Microsoft allows you disable caching. A modern OS will always fully use all RAM you allow it to use. If you give that VM way more RAM than it actually needs, it will use all that RAM for caching to speed things up. Because in an unvirtualized environment free memory is wasted memory. And looks like OSs aren't designed with virtualization in mind.
 

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!