OneIQ collects several memory metrics for VMware virtual machines. They describe different things: how much memory the guest operating system needs, how much host memory backs the VM, and how much the hypervisor uses to run it. This article explains each metric, how OneIQ uses them for sizing, and how to interpret the differences between them.
Where to Find Memory Metrics
Memory metrics are available in the OneIQ Portal and in the Entity Excel export.
In the OneIQ Portal, go to Entities, select VMware Virtual Machines, and open the Compute section.
Some columns, such as Memory consumed, Active memory, Memory shared and Memory max, appear only in the Excel export.
How OneIQ Reports Memory Metrics
Units. Memory values are reported in MiB. Utilization values are reported as a percentage of the VM's configured memory.
Rollup. All memory values in the export are 95th percentile values over the selected time range, except Memory max, which is the highest value in that range.
VMware Memory Metrics
Column (OneIQ) | Source | Description |
Memory | VM configuration | The memory configured for the VM. |
Memory used | Guest memory needed (VMware Tools), or Memory consumed if not available | The memory the guest OS needs to run its workload. Used by Insights and Design Automation for sizing. |
Memory consumed | vSphere consumed memory | Host physical memory currently backing the VM's memory. Does not include overhead. |
Active memory | vSphere active memory | The VMkernel's estimate of memory the guest has touched recently, based on sampling. |
Memory shared | vSphere shared memory | Guest memory shared with other VMs or within the VM through page sharing. |
Memory overhead | vSphere overhead memory | Memory the hypervisor uses to run the VM, separate from the guest's memory. |
Memory utilization | Calculated | Memory used as a percentage of Memory. |
Memory max | Calculated | The highest Memory utilization value in the selected time range. |
Interpreting Key Metrics
Memory used
Memory used is the most reliable measure of what a VM needs. For VMware VMs, it's the guest's memory needed as reported by VMware Tools. If that value isn't available for a VM, for example because VMware Tools isn't running, OneIQ uses Memory consumed instead.
Insights and Design Automation both use Memory used for sizing. For how Insights calculates a recommended memory size, see Insights.
Memory consumed
Memory consumed is the host memory currently backing the VM. Once the guest touches a memory page, ESXi generally keeps it backed until the host comes under memory pressure. Because of this, consumed memory often stays at or near the configured memory, even when the guest no longer needs all of it. It shows what the host has given the VM, not what the VM needs.
Active memory
Active memory is a sampled estimate of recently touched memory. It can be much lower than what the guest needs, and it isn't recommended for sizing.
Comparing Memory used and Memory consumed
Pattern | Possible causes |
Very close | The guest is using most of the memory it has touched, so the VM may be well utilized or tight on memory. |
Identical | VMware Tools may not be reporting, so Memory used has fallen back to Memory consumed. Check that the VMware tools column shows Running. |
Consumed much higher than used | The VM may have more memory than it needs. The guest may have used more memory earlier (for example, during boot, a backup or a batch job) and since released it. The VM may have a memory reservation. |
Consumed lower than used | The host is under memory pressure and is reclaiming memory through ballooning, compression or swapping, or pages are being shared between VMs. |
Memory utilization and Memory max
Memory utilization shows sustained usage, with short spikes filtered out. Memory max shows the peak. A large gap between the two means the VM has occasional spikes in memory demand. Insights sizes memory from the peak, so it leaves room for these.
VMware Tools and Memory Metrics
Memory used depends on VMware Tools running inside the VM. Two columns show its state:
VMware tools shows whether VMware Tools is running: Running, Not Running or Unknown.
VMware tools status (Excel export only) shows its version and how it's managed, for example Current, Unmanaged, Supported (Old) or Not Installed.
What matters for memory metrics is the VMware tools column:
Running: guest memory needed is reported, and Memory used reflects what the guest needs.
Not Running or Unknown: Memory used falls back to Memory consumed, so the two columns may show the same value.
A VMware tools status of Unmanaged means VMware Tools was installed and is managed by the guest operating system, for example the open-vm-tools package on Linux, rather than upgraded through vSphere. This is common and supported. If VMware tools shows Running, memory is reported normally.
Comparing OneIQ with VMware vSphere/vCenter
The memory values in OneIQ exports are 95th percentile values, not averages or point-in-time readings. When comparing with vSphere or vCenter, which can show raw counters including spikes, it's normal for the numbers to differ even when the longer-term trend is similar.
Key Takeaway
Use Memory used to judge what a VM needs, and Memory max to see its peaks. Memory consumed shows what the host has given the VM, which is often close to the configured memory. If Memory used and Memory consumed are identical, check that VMware Tools is running.
Related articles: Insights · Design Automation · Understanding VMware CPU Metrics in OneIQ · Understanding Storage Metrics in OneIQ
