Back to PerformanceManager

# Memory Counters

Performance counters are modeled using the PerfCounterInfo data object type. Each instance of a PerfCounterInfo data object contains metadata about a specific metric available from the system. The memory group (mem) of performance counters documented on this page are available from the PerformanceManager service interface. ## Memory Management and the VMkernel The VMkernel maps guest physical memory to machine memory. However, because of the VMkernel’s unique memory-management techniques, such as ballooning, memory-sharing, swapping, and other techniques, guest physical memory-to-machine memory mapping does not have a 1:1 correspondence. Specifically, the VMkernel can: Map multiple regions of guest physical memory to a single region of machine memory (which the VMkernel does for memory sharing among virtual machines) Leave specific regions of guest physical memory and machine memory unmapped (which the VMkernel does during swapping and ballooning) Many of the VMkernel’s memory-management techniques require that VMware Tools be installed on the virtual machine. Be sure that the appropriate guest-OS-specific version of VMware Tools is installed on each virtual machine. ## Guest “Physical” Memory Compared to Machine Memory Each counter definition in this table should be interpreted in the context of the entity to which it applies: Virtual machines: Memory refers to guest physical memory. Guest physical memory is the amount of “physical” memory presented as a virtual-hardware component to the virtual machine, at creation time, and made available when the virtual machine is running. Hosts: Memory refers to machine memory. Machine memory is the random-access memory (RAM) that’s actually installed in the hardware that comprises the ESX server system. ## Memory Swapping The VMkernel uses a "share before swap" optimization to reduce memory paging. Regardless of the page size in memory, the kernel uses a 4KB swap page size. The kernel will attempt to share 4KB pages; those pages that cannot be shared are swapped. Note: kiloBytes (KB) are more accurately called KibiBytes. ## For More Information For in-depth technical background about VMware memory management architecture, including information about ballooning, swapping, page sharing, idle memory tax, memory reclamation, “touched” pages, and so on, see the USENIX Association publication, “Memory Resource Management in VMware ESX Server.” See the Resource Management Guide for more information about configuring and managing resources, including memory.

Counter | StatsType | Unit | Levels | Per Device Level | RollupTypes | Labels | Entity | Instance/ Aggregate | ESX Versions
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
active | absolute | kiloBytes | 2 (4) | 4 | average (minimum) (maximum) (none) | Active | VirtualMachine HostSystem | aggregate |
Amount of memory that is actively used, as estimated by VMkernel based on recently touched memory pages. Virtual machine: Amount of guest “physical” memory actively used. Host: Sum of all active metrics for all powered-on virtual machines plus vSphere services (such as COS, vpxa) on the host.
activewrite | absolute | kiloBytes | 2 | 3 | average | Active write | VirtualMachine HostSystem | aggregate | 5.0 5.1 5.5 6.0 6.5 6.7
Estimate for the amount of memory actively being written to by the virtual machine.
capacity.contention | rate | percent | 4 | 4 | average | Memory Capacity Contention | ResourcePool | aggregate | 5.0 5.1 5.5 6.0 6.5 6.7
Percentage of time VMs are waiting to access swapped, compressed or ballooned memory.
capacity.entitlement | absolute | kiloBytes | 4 | 4 | average | Memory Capacity Entitlement | ResourcePool | aggregate | 5.0 5.1 5.5 6.0 6.5 6.7
Amount of host physical memory the VM is entitled to, as determined by the ESXi scheduler
capacity.provisioned | absolute | kiloBytes | 4 | 4 | average | Memory Capacity Provisioned | ResourcePool | aggregate | 5.0 5.1 5.5 6.0 6.5 6.7
Total amount of memory available to the host.
capacity.usable | absolute | kiloBytes | 4 | 4 | average | Memory Capacity Usable | ResourcePool | aggregate | 5.0 5.1 5.5 6.0 6.5 6.7
Amount of physical memory available for use by virtual machines on this host
capacity.usage | absolute | kiloBytes | 4 | 4 | average | Memory Capacity Usage | ResourcePool | aggregate | 5.0 5.1 5.5 6.0 6.5 6.7
Amount of physical memory actively used
capacity.usage.userworld | absolute | kiloBytes | 2 | 4 | average |  |  |  |
capacity.usage.vm | absolute | kiloBytes | 2 | 4 | average |  |  |  |
capacity.usage.vmOvrhd | absolute | kiloBytes | 2 | 4 | average | Memory Capacity Usage by VM overhead |  |  |
Amount of memory used by virtual machine overhead.
capacity.usage.vmkOvrhd | absolute | kiloBytes | 2 | 4 | average | Memory Capacity Usage by VMkernel Overhead |  |  |
Amount of memory used by VMKernel overhead.
compressed | absolute | kiloBytes | 2 | 3 | average | Compressed | VirtualMachine HostSystem | aggregate | 5.0 5.1 5.5 6.0 6.5 6.7
Amount of memory reserved by userworlds.
compressionRate | rate | kiloBytesPerSecond | 2 | 3 | average | Compression rate | VirtualMachine HostSystem | aggregate | 5.0 5.1 5.5 6.0 6.5 6.7
Rate of memory compression for the virtual machine.
consumed | absolute | kiloBytes | 1 (4) | 4 | average (minimum) (maximum) (none) | Consumed | VirtualMachine HostSystem ResourcePool | aggregate | 5.5 6.0 6.5 6.7
Amount of host physical memory consumed by a virtual machine, host, or cluster. Virtual machine: Amount of guest physical memory consumed by the virtual machine for guest memory. Consumed memory does not include overhead memory. It includes shared memory and memory that might be reserved, but not actually used. Use this metric for charge-back purposes. vm consumed memory = memory granted - memory saved due to memory sharing Host: Amount of machine memory used on the host. Consumed memory includes Includes memory used by the Service Console, the VMkernel, vSphere services, plus the total consumed metrics for all running virtual machines. host consumed memory = total host memory - free host memory Cluster: Amount of host machine memory used by all powered on virtual machines in the cluster. A cluster's consumed memory consists of virtual machine consumed memory and overhead memory. It does not include host-specific overhead memory, such as memory used by the service console or VMkernel.
consumed.userworlds | absolute | kiloBytes | 2 | 4 | average | Memory Consumed by userworlds |  |  |
Amount of physical memory consumed by userworlds on this host
consumed.vms | absolute | kiloBytes | 2 | 4 | average | Memory Consumed by VMs |  |  |
Amount of physical memory consumed by VMs on this host.
decompressionRate | rate | kiloBytesPerSecond | 2 | 3 | average | Decompression rate | VirtualMachine HostSystem | aggregate | 5.0 5.1 5.5 6.0 6.5 6.7
Rate of memory decompression for the virtual machine.
entitlement | absolute | kiloBytes | 2 | 3 | average | Entitlement | VirtualMachine | aggregate | 5.0 5.1 5.5 6.0 6.5 6.7
Amount of host physical memory the virtual machine is entitled to, as determined by the ESX scheduler.
granted | absolute | kiloBytes | 2 (4) | 4 | average (minimum) (maximum) (none) | Granted | VirtualMachine HostSystem | aggregate |
Amount of host physical memory or physical memory that is mapped for a virtual machine or a host. Virtual machine: Guest “physical” memory that is mapped to machine memory. Includes shared memory amount. Does not include overhead. Host: Sum of all granted metrics for all powered-on virtual machines, plus machine memory for vSphere services on the host.
heap | absolute | kiloBytes | 4 | 4 | average (minimum) (maximum) (none) | Heap | HostSystem | aggregate |
VMkernel virtual address space dedicated to VMkernel main heap and related data
heapfree | absolute | kiloBytes | 4 | 4 | average (minimum) (maximum) (none) | Heap free | HostSystem | aggregate |
Free address space in the VMkernel main heap.Varies based on number of physical devices and configuration options. There is no direct way for the user to increase or decrease this statistic. For informational purposes only: not useful for performance monitoring.
latency | absolute | percent | 2 | 3 | average | Latency | VirtualMachine HostSystem | aggregate | 5.0 5.1 5.5 6.0 6.5 6.7
Percentage of time the virtual machine is waiting to access swapped or compressed memory
llSwapIn | absolute | kiloBytes | 4 | 4 | average (minimum) (maximum) (none) | Swap in from host cache | HostSystem | aggregate |
Amount of memory swapped-in from host cache
llSwapInRate | rate | kiloBytesPerSecond | 2 | 3 | average | Swap in rate from host cache | VirtualMachine HostSystem | aggregate | 5.0 5.1 5.5 6.0 6.5 6.7
Rate at which memory is being swapped from host cache into active memory
llSwapOut | absolute | kiloBytes | 4 | 4 | average (minimum) (maximum) (none) | Swap out to host cache | HostSystem | aggregate |
Amount of memory swapped-out to host cache
llSwapOutRate | rate | kiloBytesPerSecond | 2 | 3 | average | Swap out rate to host cache | VirtualMachine HostSystem | aggregate | 5.0 5.1 5.5 6.0 6.5 6.7
Rate at which memory is being swapped from active memory to host cache
llSwapUsed | absolute | kiloBytes | 4 | 4 | average (minimum) (maximum) (none) | Host cache used for swapping | VirtualMachine HostSystem | aggregate |
Space used for caching swapped pages in the host cache
lowfreethreshold | absolute | kiloBytes | 2 | 3 | average | Low free threshold | HostSystem | aggregate | 5.0 5.1 5.5 6.0 6.5 6.7
Threshold of free host physical memory below which ESX/ESXi will begin reclaiming memory from virtual machines through ballooning and swapping
mementitlement | absolute | megaBytes | 2 | 3 | latest | Worst case allocation |  |  |
Memory allocation as calculated by the VMkernel scheduler based on current estimated demand and reservation, limit, and shares policies set for all virtual machines and resource pools in the host or cluster
overhead | absolute | kiloBytes | 1 (4) | 4 | average (minimum) (maximum) (none) | Overhead consumed | VirtualMachine HostSystem ResourcePool | aggregate | 5.5 6.0 6.5 6.7
Host physical memory (KB) consumed by the virtualization infrastructure for running the virtual machine. Virtual machine: Amount of machine memory used by the VMkernel to run the virtual machine. Host: Total of all overhead metrics for powered-on virtual machines, plus the overhead of running vSphere services on the host.
overheadMax | absolute | kiloBytes | 2 | 3 | average | Reserved overhead | VirtualMachine | aggregate | 5.0 5.1 5.5 6.0 6.5 6.7
Host physical memory (KB) reserved for use as the virtualization overhead for the virtual machine
overheadTouched | absolute | kiloBytes | 4 | 4 | average | Overhead touched | VirtualMachine | aggregate | 5.0 5.1 5.5 6.0 6.5 6.7
Actively touched overhead host physical memory (KB) reserved for use as the virtualization overhead for the virtual machine
reservedCapacity | absolute | megaBytes | 2 | 3 | average | Reserved capacity | HostSystem | aggregate | 5.0 5.1 5.5 6.0 6.5 6.7
Total amount of memory reservation used by powered-on virtual machines and vSphere services on the host.
reservedCapacity.userworld | absolute | kiloBytes | 2 | 4 | average |  |  |  |
reservedCapacity.vm | absolute | kiloBytes | 2 | 4 | average | Memory Reserved capacity by VMs |  |  |
Amount of memory reserved by virtual machines.
reservedCapacity.vmOvhd | absolute | kiloBytes | 2 | 4 | average | Memory Reserved capacity by VM overhead |  |  |
Amount of memory reserved by virtual machine overhead.
reservedCapacity.vmkOvrhd | absolute | kiloBytes | 2 | 4 | average | Memory Reserved capacity by VMkernel Overhead |  |  |
Amount of memory reserved by VMkernel overhead.
reservedCapacityPct | absolute | percent | 4 | 4 | average | Memory Reserved Capacity % |  |  |
Percent of memory that has been reserved either through VMkernel use, by userworlds or due to virtual machine memory reservations.
shared | absolute | kiloBytes | 2 (4) | 4 | average (minimum) (maximum) (none) | Shared | VirtualMachine HostSystem | aggregate |
Amount of guest physical memory that is shared with other virtual machines, relative to a single virtual machine or to all powered-on virtual machines on a host. Virtual machine: Amount of guest “physical” memory shared with other virtual machines (through the VMkernel’s transparent page-sharing mechanism, a RAM de-duplication technique). Includes amount of zero memory area. Host: Sum of all shared metrics for all powered-on virtual machines, plus amount for vSphere services on the host. The host's shared memory may be larger than the amount of machine memory if memory is overcommitted (the aggregate virtual machine configured memory is much greater than machine memory). The value of this statistic reflects how effective transparent page sharing and memory overcommitment are for saving machine memory.
sharedcommon | absolute | kiloBytes | 2 (4) | 4 | average (minimum) (maximum) (none) | Shared common | HostSystem | aggregate |
Amount of machine memory that is shared by all powered-on virtual machines and vSphere services on the host.Subtract this metric from the shared metric to gauge how much machine memory is saved due to sharing: shared - sharedcommon = machine memory (host memory) savings (KB)
state | absolute | number | 2 | 3 | latest | State | HostSystem | aggregate | 5.0 5.1 5.5 6.0 6.5 6.7
One of four threshold levels representing the percentage of free memory on the host. The counter value determines swapping and ballooning behavior for memory reclamation. 0 (high) Free memory >= 6% of machine memory minus Service Console memory. 1 (soft) 4% 2 (hard) 2% 3 (low) 1% 0 (high) and 1 (soft): Ballooning is favored over swapping. 2 (hard) and 3 (low): Swapping is favored over ballooning.
swapin | absolute | kiloBytes | 2 (4) | 4 | average (minimum) (maximum) (none) | Swap in | VirtualMachine HostSystem | aggregate |
Amount swapped-in to memory from disk. Virtual machine: Total amount of data that has been read into machine memory from the swap file since the virtual machine was powered on. Host: Sum of swapin values for all powered-on virtual machines on the host.
swapinRate | rate | kiloBytesPerSecond | 1 | 3 | average | Swap in rate | VirtualMachine HostSystem | aggregate | 5.0 5.1 5.5 6.0 6.5 6.7
Rate at which memory is swapped from disk into active memory during the interval. This counter applies to virtual machines and is generally more useful than the swapin counter to determine if the virtual machine is running slow due to swapping, especially when looking at real-time statistics.
swapout | absolute | kiloBytes | 2 (4) | 4 | average (minimum) (maximum) (none) | Swap out | VirtualMachine HostSystem | aggregate |
Amount of memory swapped-out to disk. Virtual machine: Total amount of data that the VMkernel has written to the virtual machine’s swap file from machine memory. This statistic refers to VMkernel swapping and not to guest OS swapping. Host: Sum of swapout metrics from all powered-on virtual machines on the host.
swapoutRate | rate | kiloBytesPerSecond | 1 | 3 | average | Swap out rate | VirtualMachine HostSystem | aggregate | 5.0 5.1 5.5 6.0 6.5 6.7
Rate at which memory is being swapped from active memory to disk during the current interval. This counter applies to virtual machines and is generally more useful than the swapout counter to determine if the virtual machine is running slow due to swapping, especially when looking at real-time statistics.
swapped | absolute | kiloBytes | 2 (4) | 4 | average (minimum) (maximum) (none) | Swapped | VirtualMachine | aggregate |
Current amount of guest physical memory swapped out to the virtual machine swap file by the VMkernel. Swapped memory stays on disk until the virtual machine needs it. This statistic refers to VMkernel swapping and not to guest OS swapping. swapped = swapout - swapin
swaptarget | absolute | kiloBytes | 2 (4) | 4 | average (minimum) (maximum) (none) | Swap target | VirtualMachine | aggregate |
Target size for the virtual machine swap file. The VMkernel manages swapping by comparing swaptarget against swapped. If swaptarget > swapped, the VMkernel can start swapping when necessary. If swaptarget < swapped, the VMkernel stops swapping memory. Since swapped memory stays swapped until the virtual machine accesses it, swapped memory can be greater than the memory swap target, possibly for a prolonged period of time. This simply means that the swapped memory is not currently needed by the virtual machine and is not a cause for concern.
swapunreserved | absolute | kiloBytes | 4 | 4 | average (minimum) (maximum) (none) | Swap unreserved |  |  |
Amount of memory that is unreserved by swap
swapused | absolute | kiloBytes | 2 (4) | 4 | average (minimum) (maximum) (none) | Swap used | HostSystem | aggregate |
Amount of memory that is used by swap. Sum of memory swapped of all powered on VMs and vSphere services on the host.
sysUsage | absolute | kiloBytes | 2 (4) | 4 | average (minimum) (maximum) (none) | Used by VMkernel | HostSystem | aggregate |
Amount of host physical memory used by VMkernel for core functionality, such as device drivers and other internal uses. Does not include memory used by virtual machines or vSphere services.
totalCapacity | absolute | megaBytes | 2 | 3 | average | Total capacity | HostSystem | aggregate | 5.0 5.1 5.5 6.0 6.5 6.7
Total amount of memory reservation used by and available for powered-on virtual machines and vSphere services on the host
totalmb | absolute | megaBytes | 1 | 3 | average | Total |  |  |
Total amount of host physical memory of all hosts in the cluster that is available for virtual machine memory (physical memory for use by the guest OS) and virtual machine overhead memory. Memory Total = Aggregate host machine memory - (VMkernel memory + Service Console memory + other service memory)
unreserved | absolute | kiloBytes | 2 (4) | 4 | average (minimum) (maximum) (none) | Unreserved | HostSystem | aggregate |
Amount of memory that is unreserved. Memory reservation not used by the Service Console, VMkernel, vSphere services and other powered on VMs’ user-specified memory reservations and overhead memory. This statistic is no longer relevant to virtual machine admission control, as reservations are now handled through resource pools.
usage | absolute | percent | 1 (4) | 4 | average (minimum) (maximum) (none) | Host consumed % | VirtualMachine HostSystem | aggregate | 5.5 6.0 6.5 6.7
Memory usage as percent of total configured or available memory. A value between 0 and 10,000 expressed as a hundredth of a percent (1 = 0.01%). Virtual machine: Percentage of configured virtual machine physical memory: active ÷ virtual-machine-configured-size Host: Percentage of available machine memory: consumed ÷ machine-memory-size Cluster: memory usage = (memory consumed + memory overhead) ÷ totalmb
vmfs.pbc.capMissRatio | absolute | percent | 4 | 4 | latest | VMFS PB Cache Capacity Miss Ratio | HostSystem | aggregate | 6.0 6.5 6.7
Trailing average of the ratio of capacity misses to compulsory misses for the VMFS PB Cache
vmfs.pbc.overhead | absolute | kiloBytes | 4 | 4 | latest | VMFS PB Cache Overhead | HostSystem | aggregate | 6.0 6.5 6.7
Amount of VMFS heap used by the VMFS PB Cache
vmfs.pbc.size | absolute | megaBytes | 4 | 4 | latest | VMFS PB Cache Size | HostSystem | aggregate | 6.0 6.5 6.7
Space used for holding VMFS Pointer Blocks in memory
vmfs.pbc.sizeMax | absolute | megaBytes | 4 | 4 | latest | Maximum VMFS PB Cache Size | HostSystem | aggregate | 6.0 6.5 6.7
Maximum size the VMFS Pointer Block Cache can grow to
vmfs.pbc.workingSet | absolute | teraBytes | 4 | 4 | latest | VMFS Working Set | HostSystem | aggregate | 6.0 6.5 6.7
Amount of file blocks whose addresses are cached in the VMFS PB Cache
vmfs.pbc.workingSetMax | absolute | teraBytes | 4 | 4 | latest | Maximum VMFS Working Set | HostSystem | aggregate | 6.0 6.5 6.7
Maximum amount of file blocks whose addresses are cached in the VMFS PB Cache
vmmemctl | absolute | kiloBytes | 1 (4) | 4 | average (minimum) (maximum) (none) | Balloon | VirtualMachine HostSystem ResourcePool | aggregate | 5.5 6.0 6.5 6.7
Amount of memory allocated by the virtual machine memory control driver (vmmemctl), which is installed with VMware Tools. It is a VMware exclusive memory-management driver that controls ballooning. Virtual machine: Amount of guest physical memory that is currently reclaimed from the virtual machine through ballooning. This is the amount of guest physical memory that has been allocated and pinned by the balloon driver. Host: The sum of all vmmemctl values for all powered-on virtual machines, plus vSphere services on the host. If the balloon target value is greater than the balloon value, the VMkernel inflates the balloon, causing more virtual machine memory to be reclaimed. If the balloon target value is less than the balloon value, the VMkernel deflates the balloon, which allows the virtual machine to consume additional memory if needed. Virtual machines initiate memory reallocation. Therefore, it is possible to have a balloon target value of 0 and balloon value greater than 0.
vmmemctltarget | absolute | kiloBytes | 2 (4) | 4 | average (minimum) (maximum) (none) | Balloon target | VirtualMachine | aggregate |
Target value set by VMkernal for the virtual machine's memory balloon size. In conjunction with vmmemctl metric, this metric is used by VMkernel to inflate and deflate the balloon for a virtual machine, as follows: If vmmemctltarget > vmmemctl, VMkernel can inflate the balloon and make machine memory currently consumed by the virtual machine available to other virtual machines on the host. (Size of vmmemctl increases as balloon inflates.) If vmmemctltarget < vmmemctl, VMkernel deflates balloon so that virtual machine can consume more memory, when needed. (Size of vmmemctl decreases as balloon deflates.)
zero | absolute | kiloBytes | 2 (4) | 4 | average (minimum) (maximum) (none) | Zero | VirtualMachine HostSystem | aggregate |
Memory that contains 0s only.Included in shared amount. Through transparent page sharing, zero memory pages can be shared among virtual machines that run the same operating system. Virtual machine: Amount of guest physical memory that contains 0s only and can thus be safely used by other virtual machines for their 0 pages memory requirement. Host: Sum of zero metrics for all powered-on virtual machines, plus vSphere services on the host.
zipSaved | absolute | kiloBytes | 2 | 3 | latest | Memory saved by zipping | VirtualMachine | aggregate | 5.0 5.1 5.5 6.0 6.5 6.7
Memory (KB) saved due to memory zipping.
zipped | absolute | kiloBytes | 2 | 3 | latest | Zipped memory | VirtualMachine | aggregate | 5.0 5.1 5.5 6.0 6.5 6.7
Memory (KB) zipped.

Back to Top of page
Back to PerformanceManager