VMware Cloud Community
Ewan_Curtis
Enthusiast
Enthusiast
Jump to solution

esxtop or VirtualCenter - which stats to believe?

Hello,

I currently have two ESX production hosts with around 12 guests on each. Each host has 12GB of RAM and the guests are configured fairly loosely with between 512 and 2048Mb each, no applicable reservations or limits are applied.

In VC, one of the hosts is flagged with the alarm "host memory usage". Fair enough, as used memory, according to VC, hovers around 10.9-11GB of an available 11.94GB, and a bit under 11GB is actually available for guest use (after console and other overheads).

However if I fire up esxtop, it tells me memory state is "high" - as far as I can tell a good thing - and there is between 1 and 2 GB free physical RAM. RAM overcommit is running at about 50% (0.5) on this particular host.

How do I interpret this? Am I missing the point of the "free" physical RAM or the high memory state, or is VC unnecessarily panicky about available resources?

Cheers!

0 Kudos
1 Solution

Accepted Solutions
FredPeterson
Expert
Expert
Jump to solution

Over commitment doesn't necessarily mean that there is contention. If there was contention you would probably also be seeing swap file usage in which case then yes, you've got an issue.

Memory sharing through TPS could be saving you a bunch, which in turn frees up memory. I have an 8GB host that, if you go strictly by the committed memory, the host would be just over 80% and throwing the first alarm, but due to TPS and what not, its only at about 65% used.

Plus, of those 2GB VM's, how many are actively using the memory? Probably none, most are using probably less then 1GB actively(?) and when the memory isn't active, ESX frees it for other uses. With no specific reservations, ESX isn't going to let the VM keep the memory and will use ballooning to give memory to the host to use for other purposes.

View solution in original post

0 Kudos
5 Replies
Ewan_Curtis
Enthusiast
Enthusiast
Jump to solution

One time bump...

0 Kudos
FredPeterson
Expert
Expert
Jump to solution

Memory state of high means there is no contention amongst the virtual machines for memory at the current time. The alarm is just indicating that memory availability is becoming a concern for any new systems you might stick on the host.

Ewan_Curtis
Enthusiast
Enthusiast
Jump to solution

Thank you.

I guess the next obvious question is, how can there be no contention if the memory resources are overcommited by 50%?

0 Kudos
FredPeterson
Expert
Expert
Jump to solution

Over commitment doesn't necessarily mean that there is contention. If there was contention you would probably also be seeing swap file usage in which case then yes, you've got an issue.

Memory sharing through TPS could be saving you a bunch, which in turn frees up memory. I have an 8GB host that, if you go strictly by the committed memory, the host would be just over 80% and throwing the first alarm, but due to TPS and what not, its only at about 65% used.

Plus, of those 2GB VM's, how many are actively using the memory? Probably none, most are using probably less then 1GB actively(?) and when the memory isn't active, ESX frees it for other uses. With no specific reservations, ESX isn't going to let the VM keep the memory and will use ballooning to give memory to the host to use for other purposes.

0 Kudos
jketron
Enthusiast
Enthusiast
Jump to solution

As of today there isn't a accurate way to get performance stats that are 100% accurate. It doesn't matter if you get them from ESXtop or VC, they are from the same source, ESXtop will be a live look at the inaccurate data and the VC will be a averaged view for that time period