0

So, out of curiosity I decided to take a look at my RAM usage with my windows 7 VM (3 GB RAM allocated) running. I was... surprised to see the results, and I'm wondering why these results are the way they are:

My host machine's (win 8.1) task manager shows the following: host proc explorer

Which really only shows how much of a hog Chrome is.... Anyway, notice that Virtualbox manager is only using 75 MB of RAM. Well, that's reasonable, this is after all only the manager and not the VM itself. But wait, those numbers (even if you add up what you don't see there) don't add up to the current RAM usage (9 GB as reported in the Performance tab). Given that my guest machine is using 1.5 GB right now, one would expect it to be a bit higher up in the list...

Ok, let's try a different tool: RAMMap

First, two more screenshots from RAMMap: enter image description here enter image description here

Well, that bit for "process private" looks to be about 3 GB (unless I'm an order of magnitude off with my cursory glance), but still - nothing except Chrome is hogging more than 100 MB of RAM.

Oh, hey, look at this: enter image description here

Looks like I finally found where it is... but what is this? Does VBox treat the guest's RAM like a file that it just keeps loaded into RAM? Is this... something completely different? Why doesn't windows inform me of this in its regular Task Manager tool?

TL;DR: Windows, y u no show me all RAM usage

  • "Which really only shows how much of a hog Chrome is" - this is a common misconception about Chrome. Some of the memory shown in Task Manager is shared between processes, so it's reported multiple times. If you want to see real Chrome RAM usage, go to Chrome and press Shift+Esc. – gronostaj Jul 30 '14 at 18:51
  • Not familiar with Virtualbox but I would expect the guest OS memory to be in Driver Locked. The F:\virtualbox vm\etc would be the mapping of your VHD. – David Marshall Jul 30 '14 at 19:31
  • @gronostaj, just took a look - shift esc in chrome reports ~ 1.6 GB of RAM usage with 18 MB of shared, which about lines up with what windows reports (adding up gave me ~ 1.4 GB before I hit the processes < 10 MB) – Mitch Jul 30 '14 at 19:44
0

TL;DR: The process was using the memory, stopped using the memory, and Windows just has been too lazy to deal with it yet.

Windows doesn't show RAM usage in the Task Manager under Process unless the process requested the RAM and has some control over its usage. If the OS gave the RAM to the process to back mappings, and those mappings are discardable, it would be confusing to show them charged to the process. This would result in widely-varying usage numbers for a process as other processes caused these mappings to become unbacked.

There's no particular reason you should care that Windows happened to give 2GB of RAM to this process, not because it requested it, but just because it couldn't think of anything better to do with that memory. And, of course, Windows can take that RAM back at any moment if it does have something else to do with the memory.

If the process actually uses the memory, it will be considered part of its working set and charged to the process. If Windows were to clean things up now, and the process later used the memory, Windows would just have to allocate it again. So there's no point in doing extra work now just to, in all likelihood, make more work later.

0

It is shown in RAMMap under Driver Locked. See the 3GB uses which is what you assigned to the VM.

enter image description here

VMs use this Memory so that no other tools can use it.

  • I'm gonna have to disagree with you there: imgur.com/0EOCNq6 this was taken just after opening the VM from a 'saved' state, so it's using 2.5 GB right off the bat. The light green on the left (active) jumped considerably (probably by about 3 GB) while the DriverLocked remained at 300 MB total – Mitch Jul 31 '14 at 11:56

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.