VMware Cloud Community
david_loup
Enthusiast
Enthusiast
Jump to solution

Re: Private memory takes all 24 Gb allocated : Guest OS barely uses 3Gb.

I have setup a 12Gb reservation, so I would have understand if the consumed memory was 12Gb, but it is not, it is 24Gb. It will be easier to explain with some screenshot:

This is what I see in Vsphere:

From-Vsphere.JPG

And this is what I see in the guest OS task manager (1.98Gb used memory) :

From-OS.JPG

I tried to put a limit to 12Gb, but when I do so, private memory go to 12Gb, and the other half of the allocated memory is balloon !

It seems that VMware really thinks that my VM is using all of his allocated memory.

I saw someone with the same issue : https://communities.vmware.com/thread/473652 but I didn't understand what was his solution.

Thank you. (And sorry if I made some writting mistakes, English isn't my native tongue)

Reply
0 Kudos
1 Solution

Accepted Solutions
depping
Leadership
Leadership
Jump to solution

It is fairly straight forward:

When Windows boots it touches your memory pages. Because of this to vSphere it looks like all pages are used, this is what you are witnessing. Even when they are doing nothing and are all "zero" pages it shows up as "consumed" in the UI unfortunately,

View solution in original post

Reply
0 Kudos
4 Replies
JarryG
Expert
Expert
Jump to solution

I think there is some misunderstanding about what "free memory" is. So let me explain it to you:

Every modern OS (yes, even Windows) sticks with one simple rule: *any* utilization of memory is better, than not using it at all. So if programs/services are not using all memory available, OS will use it for disk-cache and i/o-buffers.

You see it on your From-OS.JPG screenshot: OS is using (at that particular time) 22541 MB of memory for caching. But this memory is still considered as "available": if memory for processes/programs is needed, OS will promptly decrease disk-cache size to make some RAM free. But untill then, it is still used, although with "low priority".

So your VM is actually using all 24GB of memory (but only ~2GB for OS/processes, rest for disk-cache). That's why ESXi reports all 24GB is used by VM.

_____________________________________________ If you found my answer useful please do *not* mark it as "correct" or "helpful". It is hard to pretend being noob with all those points! 😉
david_loup
Enthusiast
Enthusiast
Jump to solution

It all makes sense now Smiley Happy

I thought Vsphere had troubles to pick up the right information. But there's actually no problem.

Thank you JarryG !

Reply
0 Kudos
david_loup
Enthusiast
Enthusiast
Jump to solution

Haaa, I don't understand anymore now. Vsphere still show me that the VM takes all it's allocated memory, but in the task manager of the guest OS, I have 20Gb of free memory and 1.3Gb of cached memory. Why isn't that unused memory free for other VM ?

Reply
0 Kudos
depping
Leadership
Leadership
Jump to solution

It is fairly straight forward:

When Windows boots it touches your memory pages. Because of this to vSphere it looks like all pages are used, this is what you are witnessing. Even when they are doing nothing and are all "zero" pages it shows up as "consumed" in the UI unfortunately,

Reply
0 Kudos