Windows10 vm using 90% of ram all the time

cionchev

New Member
Mar 15, 2021
4
0
1
41
Ive been trying to set up a Windows vm with GPU passthrough so I can use a couple of programs that are tied to the Windows ecosystem, but have hit some stumble points. As the title states my VM is constantly pegging the RAM to 90 or more percent. I set up my system according to these guides(https://forum.proxmox.com/threads/gpu-passthrough-tutorial-reference.34303/ and https://gist.github.com/qubidt/64f617e959725e934992b080e677656f).

dmesg | grep -e DMAR -e IOMMU indicates that IOMMU is enabled, I am not really certain what to check from here, but I believe that I have followed the tutorials properly and have capable hardware. dmesg does not have anything coherant that I can see as pertaining to ram usage.

Host
cpu= i3 10100
gpu = rx560 2gb (blacklisted on host)
motherboard = msi mag b560m
ram= 32gb gskill 2133
OS= proxmox 7.1

VM
cpu= 7 cores
gpu=rx560 2gb
ram=16gb
OS=Newest Windows 10

If you guys need more details I will provide them.

Edit to add: Inside the VM ram usage is reported as 4gb
 
Last edited:
Have you installed the QEMU guest tools? After that, the reported memory in PVE is that of the guest. (It is however not the technically correct ram usage, because Windows shows caches as free and caches are used memory from the PVE perspective)
 
  • Like
Reactions: cionchev
And if you use PCI passthrough the VM will always consume the full RAM because a PCI device with DMA needs always be able to access all RAM all the time. So if you give that VM 16GB RAM and Win only uses 4GB, your host will still loose the full 16GB.
 
  • Like
Reactions: cionchev
And if you use PCI passthrough the VM will always consume the full RAM because a PCI device with DMA needs always be able to access all RAM all the time. So if you give that VM 16GB RAM and Win only uses 4GB, your host will still loose the full 16GB.
All good info, thank you. It is nice to know that this behavior is expected. Tests inside the VM show the ram performing normally. If I run prime95 blend the ram jumps to 100% as it should. I take this to mean that 16gb is sequestered from the host but only the guest will only draw from this pool as needed? To say it differently, the ram is passed through directly to the guest and unavailable to the host?
 
RAM is always unavailable to the host or other guests as soon a a guest used it once. Only with ballooning the host is able to reclaim some of that RAM (and that won't care if processes in the guest will be killed, it will just reclaim it, no matter if the guests really needs that rAM or not). Thats why you can't overprovision your RAM. Its not like the CPU where the same ressource could be shared between host and multiple VMs (with KSM as a exception).
 
Last edited:
  • Like
Reactions: cionchev

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!