I have a strange issue on one VM in a farm.
As reported by VC:
The Host memory usage - 1.89GB
Guest memory useage - 229MB
Why are these numbers so different? The VM is reporting a memory shorage alarm, but inside the VM I see plenty of free memory, and about 300MB of RAM used (as reported by task manager).
Any ideas?
Thx!
Where did you checked the Host Memory?
Because probably you are looking to the total Host Memory usage ( For all VM's ).
The alarm that you see, if it is a Windows machine and it just booted, it normal, if you wait a few minutes the alarm will go off.
The memory that you see on the Task manager could be very different from the actual Guest memory usage, because ESX uses several techniques of memory optimization like ballooning and page sharing.
Hope it clarify
Is this only on startup? It is common for a Windows guest VM to do this on startup. When a virtual machine boots. Windows zeroes the contents of all pages in physical memory while booting. This causes the system to become overcommitted almost immediately, as each VM accesses all of its memory. Since the Windows balloon drivers are not started until late in the boot sequence, ESX Server is forced to start paging to disk. Soon after booting the amount of shared memory drops rapidly, and ESX Server compensates by using ballooning to reclaim memory. Page sharing continues to exploit sharing opportunities over time saving additional memory.
Here's some good memory docs...
The Role of Memory in ESX Server 3 - http://www.vmware.com/pdf/esx3_memory.pdf
Memory resource management in Vmware ESX Server - http://www.vmware.com/pdf/usenix_resource_mgmt.pdf
I got those memory stats by clicking the guest virtual machine in virtual center.
It looks just like a machine that just booted; your absolutely correct. However, this machine has been up for several days, and the alarm has been there the entire time. Also, from inside the VM, looking at it with Task Manager, the memory used also does not relfect the amount of memory used by VMware (it shows ~300MB used, the VM shows ~2GB used in VC).
Thx for any help!
Check your alarm setting and make sure it is not set to low
What version of VC are you running? 2.0 seemed to have some issues with accuracy when it came to those statistics. It would even show powered off VM's having memory usage. Also did you check the version of Vmware tools on that VM to make sure it's the latest, you can do this by right-clicking on the icon and opening it and selecting about. You might also try re-installing Vmware tools.
I had the same problem. I resolved it by powering off the VM then closing
my VI client and restarting again. Then I powered on the VM again all the usual alarms appeared and disappeared as normal.
You can resolve your problem by restarting the service VMware VirtualCenter Server
Have you applied the current / patched version of Virtual Center?
vmotion21
In this case I did not need to do that. I have had other problems similar to
this one where restarting the VC server service did clear problems.