VMware Cloud Community
xadamz23
Contributor
Contributor

Active Guest Memory

You know how the VI client gives you the "Active Guest Memory" on the summary page for a VM. I am trying to find a perfmon equivalent in a GuestOS to "Active Guest Memory". I thought maybe it would be Process\Working Set\_Total, but the value of it is nowhere near Active Guest Memory. Does anyone know if you can get this value using perfmon?

0 Kudos
4 Replies
WaffleSniffer
Enthusiast
Enthusiast

Hi

Have a look at the following white paper:

www.vmware.com/files/pdf/perf-vsphere-memory_management.pdf

It's a great doc for understanding how memory is managed in ESX, and in the introduction it even states:

This paper helps answer these questions:

• Why is the Consumed Host Memory so high?

• Why is the Consumed Host Memory usage sometimes much larger than the Active Guest Memory?

• Why is the Active Guest Memory different from what is seen inside the guest operating system?

So hopefully it should be able to answer your question better than I can! 😃

Hope this helps

Adam

0 Kudos
RParker
Immortal
Immortal

Active Guest Memory is the same as working sets, but it's from the HOST not the Guest OS, so it's memory from the HOST side, not what's inside the VM.

xadamz23
Contributor
Contributor

Thanks RParker.

The reason I am asking is I am undertaking a somewhat large P2V project and I wanted to get a good feel for how much memory the physical machines are using before I virtualize them so that I can set the reservation accordingly.

0 Kudos
RParker
Immortal
Immortal

P2V project and I wanted to get a good feel for how much memory the physical machines are using

It's not 1:1 for memory on VM's, for one thing Virtualizing has a very unique side affect, sharing. VM's share memory. Windows especially, it's almost like a de duplication layer for memory. Windows can share 30-35% of the Memory and the more Windows VM's you have on a host the more they can share between them. So you actually REDUCE the memory consumption on VM's.

Also Physical machines have physical ports, additional driver overhead, 3rd party apps needed to support the OS on that hardware, monitoring software, and other apps to interface with other machines (NIC bonding, special drivers, etc...). ALL of these are removed for a VM.

You end up with a pure environment, Video and Disk, it doesn't get any simpler than that. And those drivers are generic, ALL VM's are the same. Even on physical machines, they are not identical, because the hardware layer alone makes them unique, they aren't doing the same thing at the same time. VM's are only focused on letting apps run, and the need to have special drivers is reduced, this lowers memory as well.

So removing 10 - 20 special drivers AND making those drivers basic (no special hardware requirements) actually makes the footprint in a VM (after its converted, and drivers / software removed) probably at least 30-40% LESS than it was. So a 4 GB Physical box, taking into account sharing and removing drivers, you are looking at 1GB. That is VERY significant savings.

So you are worried about something that really isn't an issue. Because your programs will use MORE available RAM, without adding more to the machine.

0 Kudos