I recently went on a wild chase to find the memory used by VirtualBox. As you may know, in the task manager, or Process Explorer, the memory used by VirtualBox is only a few hundred Megabytes, not matter how much memory is actually used by the guest host. In my case, I was using a 2GB VM, so I wanted to understand why it was that I couldn't see that memory use anywhere.

After a lot of googling, I downloaded RamMap and finally found a place where the guest memory amount is displayed:

Ram Map displaying my memory

When I stop my VM, System PTE drop to 40MB, and it goes up back to 2GB when starting again. So clearly, this is where my guest OS reside!

So my question is : why is the memory for a virtualized guest stored at this place? My limited understanding of System PTE is that is represent the mapping between the real memory and the various process address spaces. So I would expected no much more that some kind of array mapping one index to another. Why would we put an entire OS memory there?

Thank you for enlightening me!

  • 1
    On my system (Win 10 pro, 64bit) "System PTE" and "Driver Locked" seem to add up to around the amount of mem that the VM uses (~5GB + ~3GB out of 8GB allocated to the VM). I actually had to fill/use the memory in the VM before it got allocated in these, untill then they were much smaller. When the VM was closed they both decreased to <150MB each. – Qtax Jun 17 '19 at 14:07
  • 1
    Hum, interesting. I did not myself see the effect on the driver lock memory (as you can see above in the screenshot). Maybe the latest version of VirtualBox changed its memory allocation strategy. – Laurent Bourgault-Roy Jun 17 '19 at 15:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.