Hello,
thank you for your reply.
My hosts actually have Nehalem E5520 CPUs. After reading your reply and performing some search I finally ended with VMware KB Article 1014019 which addresses the exact issue as described below and provides a patch to fix the issue:
"Guest operating system's memory usage might be overestimated on Intel systems that support EPT technology or AMD systems that support RVI technology. This issue might cause the memory alarms in vCenter to go off spuriously even if the guest is not actively accessing a lot of memory"
The KB article confirms large Host Memory usage for "soft VMs" is acually caused by a bug in VMware with allocation of large pages. While changing Mem.AllocGuestLargePage to 0 is a valid workaround to adress the high memory usage on such hosts, the KB article recommends undoing it (if it has been modified) and then applying the patch to fix the issue.
After going through the steps described below and looking at the data reported by the vSphere Client my final thought would be to always assign a vitual machine guest OS an amout of physical memory to exactly suit its workload, but I would like to share the thought with you experts.
Here are the steps taken using an existing Windows XP SP3 32-bit VM with 3G of physical host memory assigned along with the corresponding memory consumption from the vSphere Client before applying the patch:
==================================================
Consumed Host Memory: 1677,00 MB
Active Guest Memory: 880 MB
Current Memory usage from Task Manager inside the Guest: 180 MB
==================================================
I have then migrated the powered on VM to a different host using VMotion, put the host in Maintenance Mode, applied the patch, rebooted the host, exited Maintenance Mode and migrated the powered on VM back to patched host. I have also shutdown the VM and powered it back on to wipe the Consumed Host Memory out from the host and finally looked at the data reported by the vSphere Client:
==================================================
Consumed Host Memory: 2107,00 MB
Active Guest Memory: 81 MB
Current Memory usage from Task Manager inside the Guest: 180 MB
==================================================
According to the displayed data the vSphere Client issue has been addressed since the Active Guest Memory reported almost reflects the actual current Memory usage from Task Manager, while my current host (running only this "test" VM) Memory usage is >3G !
The described phenomenon seems to affect only Windows-based guests. The following data refers to an existing FreeBSD 5 64-bit VM with 4G of physical host memory assigned:
==================================================
Consumed Host Memory: 537,00 MB
Active Guest Memory: 163 MB
==================================================
What's going on out there experts ?