vROps Memory Metric Collection Changes in 6.7 & 7.0+

Reading Time: 2 minutes

With vROps prior to 6.7, Memory metrics have caused confusion when comparing the memory metrics generated from vSphere to the metrics generated from the Ep Ops management agent installed on the guest OS. Currently, the metrics shown from the vSphere data collection are memory metrics as seen from the ESXi host layer / VMkernel. This value is at times largely different to the guest OS memory metrics, as explained below. I have a blog post here which explains the different memory metrics in vROps prior to 6.7

Active memory is the “amount of memory that is actively used, as estimated by the VMkernel based on recently touched memory pages”. For example, although Windows processed have allocated 3GB / 4GB on a VM, only 500MB is actually being actively touched, so the VMkernel reports the active memory as 500MB.

Consumed memory is the “amount of host physical memory consumed by a virtual machine, host, or cluster”. “VM consumed memory = memory granted – memory saved due to memory sharing“. This means that Consumed memory can include memory that the guest OS considers free. When comparing Task Manager memory usage to the Consumed Memory metric, you will see that Consumed Memory is almost always larger.

vROps currently relies on Active Memory when calculating utilization and demand. This resulted in the memory utilization always appearing lower than what you see in the guest OS. Active memory is used by the capacity engine, which means that sizing requirements are also based on Active Memory, resulting is quite aggressive recommendations.

In vROps 6.7 & 7.0, several significant changes were made and notably the metric Guest|Needed Memory (KB) which is collected by VMware Tools is now used to greatly improve the quality of projection from the capacity engine as well as rightsizing. The Memory|Usage (%) metric has been changed to prefer Guest|Needed Memory (KB) collected from Vmware Tools, and now fails back to Memory|Non Zero Active (KB) if it’s not available.

Typically, you would see that Guest|Needed Memory (KB) and Memory|Utilization (KB) are nearly identical (unless there is an issue collecting the metric from VMware Tools). Memory|Utilization (KB) is the metric used by the cpacity engine and therefore rightsizing recommendations. As you can see, it’s advantageous to ensure that Guest|Needed Memory (KB) is collecting from VMware Tools to get the best quality recommendations. The formula for the Memory|Utilization (KB) metric is below.

If VMware Tools is collecting…

Memory|Utilization (KB) = Guest|Needed Memory (KB) + ( Guest|Page In Rate per second * Guest|Page Size (KB) ) + Memory|Total Capacity (KB) – Guest|Physically Usable Memory (KB).

Memory|Usage (%) will prefer Guest|Needed Memory (KB)

If VMware Tools is not collecting…

Memory|Utilization (KB) = Memory|Consumed (KB)

Memory|Usage (%) will prefer Memory|Non Zero Active (KB)

This change allows you to use Memory|Usage (%) to show an aggressive percentage and Memory|Workload (%) to show a conservative percentage in dashboards and reports.

Source: https://blogs.vmware.com/


  1. Hey Gaz!

    I first got confused by the amount of RAM that was given to a machine as it looked like the RAM was always fully used — but actually it was just the way of displaying that the OS only reserved but factually never used it. Looking at the Utilization instead showed what was really going on.

    Very helpful, thank you very much.

  2. Hey Gaz! Nice write up, and thanks!! My question is most specifically on the interpretation of the guest free memory and guest needed memory – with me being new to vROPs, and essentially learning as i go here. Based on the explanation which i received from our resident vROPs SME, my original interpretation of guest needed memory must not be accurate; as, for example – a vm w/64gb of ram with a range (in the guest needed graph over the course of a year) having a high point of 58gb and a low of 6gb; and a guest free range over the same period of 64gb and 358mb….am i correct in estimating that i should add at least 6gb of ram to this vm? Thanks in advance for clarifying for my simple mind! Mike

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.