There is a saying "Don't believe everything you hear, and only half of what you see". Or is this simply a case where the client is misinterpretting the reported values and trying to draw their own conclusions? -- This is true.
There is no descrpancy, the use in your interpretation of the memory usage. There is a difference because of efficiency.
Windows allocates RAM based upon available use, but it has NO idea that other machines could be sharing this memory. You allocate RAM to a VM, and that RAM (if it's not reserved) get's shared among other VM's on the host.
The host sees RAM from a different perspective. The host can see ALL the RAM (shared and not). So if VM1 is allocated 768 Meg of RAM, Windows will see 768 Meg of Available RAM, and use it's share, but the host sees 768 Meg of RAM that is shareable among other VM's. Depending on the type and OS versions, patches, so on, it can optimize the RAM to be the most efficient for ALL VM's.
so VM1 uses maybe 300 Meg of RAM on the host, and Window maybe uses ALL the 768 Meg RAM, there will almost ALWAYs be a difference. The RAM is not a 1 for 1, like it was in VM Ware server, that's one huge advantage that you get with ESX. Ram is NOT dedicated to a VM, unless you want it to be, it defaults to sharing.
So in other words VM1 may only need occupy 300 Meg of actual host RAM to give Windows its FULL compliment of 768 RAM. VM1 doesn't need the host to sacrifice 768 of RAM just to give Windows what it needs. You should look up ballooning, it gives a great explanation about this, and why you should make sure your VM tools are up to date to ensure this is done properly and efficiently.
Where, or does, the VMs swap and the ESX swap factor into this?
Swap comes to play when you overcommit memory and you start to get contention.
One thing that I did notice is that the client had dumb down the amount of memory that was allocated for the Service Console from 800MB to 272MB. Would this have an affect with what we are seeing? They are running HP Insight Manager, SNMP services in addition to running approximately 10 VM guests per host. Thoughts.
Chances are, it is simply a matter of the client misinterpreting the various metrics, shared memory pages, etc.
However, in the case of memory, they may also need to patch their VirtualCenter server.
If they are using VirtualCenter version 2.0.1, confirm that they have applied "Patch 2" (or, better yet, upgrade all of their infrastructure to the most-recent):
This update resolves several issues associated with VirtualCenter’s database server; issues related to VirtualCenter 1.x compatibility mode; and memory consumption and reporting issues[/b]. This update also includes changes to several database scripts, and requires some preliminary setup. See Before Installing the Patch for details.
VM Memory Usage Displayed in VirtualCenter Does Not Match Host Usage.
If you found this information useful, please consider awarding points for "Correct" or "Helpful". Thanks!!!
Would this have an affect with what we are seeing?
Tough question. Part of the reporting (data collection) is done through the COS - so if the COS has resource problems this could lead to slower (or inaccurate ???) data collection.
This only is an assumption!
Since they are running additional software in the COS (like the HP agents) I would increase the memory allocation of the COS back to 544MB or 800MB anyway.