Hey all,
I am still having difficulties understanding the metrics active memory in vCenter and memory demand in vROPS and how they relate to the metrics from inside the guest OS:
In my understanding, active memory tries to sample the actual memory usage of the VM on the ESXi level (see: Understanding vSphere Active Memory - VMware vSphere Blog). Memory demand in vROPS is derived from this metric with some RAM added for the OS (source: Iwan Rahabok´s great book: VMware Performance and Capacity Management - Second Edition).
Also he is saying that RAM should be monitored on the guest OS level (see: How to monitor Windows RAM usage with vRealize Operations 6.1), so this is what we are doing with an Icinga agent inside the guest OS.
The VM is a Windows backup VM with 16 GB RAM who is doing a full backup at Friday night:
For this VM vROPS tells me to extend RAM to 17,34 GB because of memory stress:
And now the same timeframe for this VM from inside the guest OS through the monitoring agent:
As you can see the maximum value of memory used from inside the guest OS is approx. 9 GB.
So my question is can I ignore the alerts from vROPS regarding memory stress and where is the big difference coming from?
Does the guest OS maybe read from the page cache of Windows and this is reflected in vROPS but not counted as used memory inside the guest OS?
And if I lower the RAM for this VM will the backups run a lot slower because of the missing page cache?
For any insights I would be really grateful!
Thanks and regards,
jengl