VMware Cloud Community
enomichal
Contributor
Contributor

Monitoring overcommitment of RAM

Hi,

We would like to monitor memory overcommitment of a vhost. Are you aware of any solutions that would let us do that? The issue is that when we migrate some VMs to a vhost that already has low memory it starts to have some issues. But even if we put too many VMs on one vhost the RAM usage is still showing that there is some free. There is a Nagios plugin for the API but it returns 0:

# ./check_vmware_api.pl -H vhost1.xxxx.lan -u root -p **** -l mem -s OVERHEAD

CHECK_VMWARE_API.PL OK - overhead=0.00 MB | mem_overhead=0.00MB;;

# ./check_vmware_api.pl -H vhost1.xxxxxx.lan -u root -p **** -l mem -

CHECK_VMWARE_API.PL OK - mem usage=58839.35 MB (91.57%), overhead=0.00 MB, swapped=52.23 MB, memctl=0.00 MB | mem_usagemb=58839.35MB;; mem_usage=91.57%;; mem_overhead=0.00MB;; mem_swap=52.23MB;; mem_memctl=0.00MB;

And I was running that on a vhost that was heavily overloaded with amount of VMs (for testing).

Any help would be greatly appreciated,

Thanks and regards,

Michał

Tags (2)
0 Kudos
6 Replies
RickVerstegen
Expert
Expert

Have a look at vRealize Operations.

IT Operations Management | vRealize Operations

Was I helpful? Give a kudo for appreciation!
Blog: https://rickverstegen84.wordpress.com/
Twitter: https://twitter.com/verstegenrick
0 Kudos
enomichal
Contributor
Contributor

Thanks, but it is rather pricey for a simple monitoring of one metric.

0 Kudos
RickVerstegen
Expert
Expert

You can use a free trail of VMware vRealize Intelligent Operations for 60 days.

Also you can use all the other great features and capabilities that it has in the evaluation period.

Was I helpful? Give a kudo for appreciation!
Blog: https://rickverstegen84.wordpress.com/
Twitter: https://twitter.com/verstegenrick
0 Kudos
sjesse
Leadership
Leadership

Look at the check_esx3.pl if you haven't. For memory this returns

mem usage=330613.38 MB (72.11%), overhead=0.00 MB, swapped=64.69 MB, memctl=0.00 MB

which also haves the over head, but I'd look at both swapped and memctl in the alert as they are better indications that the host is overloaded. Memct is balooning at that starts at 97% used memory I believe and then swapping starts around 98% or 99%. Swapping will stay up after the memory has recovered till the specific vms actually access the memory, or the vm is restarted. According to this script overhead is "additional mem used by VM Server in MB"  amd vwmare defines it as Understanding Memory Overhead . I think the script your using is probably a newer version of this one, or at least similar and its looking for "Additional overhead for each virtual machine" which you might not have,

Swapping and memctl are the metrics you want to look for. The % number is a guideline I've hear before, but there is an actual calcuation thats used, the best page I can see that is up to date is this if your interested.

http://www.running-system.com/vsphere-6-esxi-memory-states-and-reclamation-techniques/

0 Kudos
enomichal
Contributor
Contributor

@sjeese Thank you very much. Very helpful response and links. I was monitoring our vhosts for some time and I was seeing swapped to go over 0MB, but memctl and overhead always stay at 0.

0 Kudos
sjesse
Leadership
Leadership

From my experience thats causes by a VM that is lower active memory vs granted memory. DRS uses active memory plus 25% of idle memory when it moves things, and storage reclamation uses consumed memory. I've seen  vms move to a host them move back in a few minutes because of this.

0 Kudos