ESX Server virtual machines can incur two kinds of memory overhead:
- The additional time to access memory within a virtual machine.
- The extra space needed by the ESX Server host for its own code and data structures,
beyond the memory allocated to each virtual machine.
ESX Server memory virtualization adds little time overhead to memory accesses. Because the processor?s paging hardware uses the shadow page tables directly, most memory accesses in the virtual machine can execute without address translation overhead.
For example, if a page fault occurs in the virtual machine, control switches to the VMM so that the VMM can update its data structures.
The memory space overhead has two components:
- A fixed system?wide overhead for the VMkernel and (for ESX Server 3 only) the service console.
- Additional overhead for each virtual machine
For ESX Server 3, the service console typically uses 272MB and the VMkernel uses a smaller amount of memory. The amount depends on the number and size of the device drivers that are being used.
Overhead memory includes space reserved for the virtual machine frame buffer and various virtualization data structures. Overhead memory depends on the number of virtual CPUs, the configured memory for the guest operating system, and on whether you are using a 32?bit or 64?bit guest operating system.
In this example the machine has 4 Gb of Memory granted. It's 4096 + overhead (176 MB)
Host memory = Guest consumed + Overhead
Still a little bit lost on this...
What is Host Memory Usage and what is Guest Memory Usage?
Host Memory 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.
So Guest Memory is the Amount of memory in megabytes actively used by guest operating system and applications
All you can read over here
Also give a look at VirtualCenter Monitoring and Performance Statistics