VMware

This Question is Answered

2 "helpful" answers available (6 pts)
10 Replies Last post: Nov 3, 2008 1:42 PM by abaum  

Memory metrics in Virtual Center. A true measure of Host memory by a Guest. posted: Jun 16, 2008 9:03 AM

Click to view jshute's profile Novice 4 posts since
Jun 16, 2008
What set of Virtual Center metrics will provide the true amount of memory that a guest "uses"? I am running at level 2 detail at this point.

The consumed seems to key off of the granted, which is misleading to me. Granted seems like how much the guest is "given. The consumed gets closer by taking into account the shared memory efficiencies.

So.. Active + what?? = memory used by the guest on the host.

Could this number be summed to find out all the memory used on the host? Does it consider the overhead/kernel?

I have reviewed the vCenter Performance Counters wiki and it is not clear what adds together to get the number I am looking for.

Thanks for any help,

John

Click to view kjb007's profile Guru 5,486 posts since
Sep 18, 2006

Host memory = Guest consumed + Overhead.

The active guest memory does not take into account host memory used for shadow pages, but you can get the host utilization by summing overhead and guest consumed memory.

-KjB

Click to view kjb007's profile Guru 5,486 posts since
Sep 18, 2006

Yes, consumed + overhad = host memory usage.

Consumed can be as high as granted, so total host usage can be more than the total granted to a guest.

The amount in use by the guest, is the memory.active.average. I'm not sure what you're asking here, because the amount needed by the guest is still the consumed + overhead.a

Shared memory is not referenced here with these counters. You can get that from mem.shared.average, but getting that from your cluster would give you shared memory at that level.

-KjB

Click to view kjb007's profile Guru 5,486 posts since
Sep 18, 2006

The problem here is semantics. The active memory is how many blocks in memory is actually being written to. The consumed includes memory that may be reserved, but not actually used. So, from the OS perspective, the consumed is how much is in use. The active memory is how much ESX thinks the guest is actually using.

For instance, for java apps, the jvm can reserve memory, and that memory will have zeroes written to it to "reserve" the memory for future use. To the guest, that memory is all in use. To the ESX host, only the pages written to are active.

Hope that makes sense.

-KjB

Click to view kjb007's profile Guru 5,486 posts since
Sep 18, 2006

Yes, that's about right. But it's a lot easier said then done. Not enough, and the vm swaps, too much and you lower capacity.

Good luck.

-KjB

Click to view MicroAdmin's profile Enthusiast 72 posts since
Feb 17, 2006

i'm still a little lost on this...

What is Host Memory Usage and what is Guest Memory Usage? My understanding is that Host is how much the host is holding for that VM in case the VM actually needs it. My understanding of guest is how much memory is actually being used. Is that about right?

Click to view kjb007's profile Guru 5,486 posts since
Sep 18, 2006
Host usage is how much of the host's memory is currently being used to run the guest. That includes the memory the guest is consuming and the overhead for managing that memory. This consumed amount varies and can be more than what the guest believes is in use, because the host can not reclaim memory it has given to the guest directly without ballooning. It has no way to know which pages are no longer in use by the guest. The guest requests memory, and the host gives it, and the guest will mark it in use, and the host will mark it as used. When the guest no longer needs it, it just stops using the specific pages, but does not mark them as unused, so the host has no way to know which pages are in use and which are not. So, the consumed is more than in use.

Hope that is more clear.
Click to view abaum's profile Hot Shot 353 posts since
Jul 1, 2005

I could use a bit more clarification. I have a guest configured for 20GB RAM. According to VC, the overhead is 650MB, Host Mem Usage is 5GB, and Guest Mem Usage is 1GB. Are you saying that the guest is allocating 5GB (+ overhead) from the host but only actively using 1GB?

adam

VMware Developer

SDKs, APIs, Videos, Learn and much more in the Developer community.

Learn More

Developer Sample Code

Increase your developer productivity with VMware API sample code.

Learn More

VMworld Sessions & Labs

Online access to the latest VMworld Sessions & Labs and online services.

Learn more

Purchase PSO Credits Online

Purchase credits to redeem training and consulting services online.

Buy Now

Community Hardware Software

View reported configurations or report your own.

Learn More

VMware vSphere

Come witness the next giant leap in virtualization.

Register Today

Communities