Memory States

Host memory is a limited resource. VMware vSphere incorporates sophisticated mechanisms that maximize the use of available memory through page sharing, resource-allocation controls, and other memory management techniques. However, several of vSphere Memory Over-commitment Techniques only kick-in when the host is under memory pressure.

Memory States

Active Guest Memory

Amount of memory that is actively used, as estimated by VMkernel based on recently touched memory pages so it is what the VMkernel believes is currently being actively used by the VM.

vSphere uses a 100 memory page per virtual machine random sampling to calculate active virtual machine memory. It is by no means 100% accurate but it does have a very high confidence level and is generally quite accurate.

Private

Private is the amount of memory that is physically backed by the Host. In other words 1,021.00MB is physically stored on RAM.

Shared

Amount of guest “physical” memory shared with other virtual machines (through the VMkernel’s transparent page-sharing mechanism (TPS), which is a RAM de-duplication technique).

Ballooned

Ballooned is the amount of memory reclaimed by the Balloon Driver.

Compressed

ESX/ESXi provides a memory compression cache to improve virtual machine performance when you use memory overcommitment. Memory compression is enabled by default. When a host’s memory becomes overcommitted, ESX/ESXi compresses virtual pages and stores them in memory.

Because accessing compressed memory is faster than accessing memory that is swapped to disk, memory compression in ESX/ESXi allows you to overcommit memory without significantly hindering performance. When a virtual page needs to be swapped, ESX/ESXi first attempts to compress the page. Pages that can be compressed to 2 KB or smaller are stored in the virtual machine’s compression cache, increasing the capacity of the host.

Swapped

Swapped the amount of memory reclaimed by VMkernel swapping

Unaccessed

The amount of memory that has never been referenced by the guest OS.

TPS

Transparent page sharing (TPS) is a method by which redundant copies of pages are eliminated. TPS is always running by default, however on modern hardware-assisted memory virtualization systems; vSphere will preferentially back guest physical pages with large host physical pages (2MB contiguous memory region instead of 4KB for regular pages) for better performance. vSphere will not attempt to share large physical pages because the probability of finding two large pages that are identical is very low. If memory pressure occurs on the host, vSphere may break the large memory pages into regular 4KB pages, which TPS will then be able to use to consolidate memory in the host.

For that reason, it is no longer recommended to solely look at the “host memory consumed” metric for capacity planning. “Host consumed memory” may be constantly high in most environments.  Instead, Active Memory (Memory Demand) should be used to determine memory capacity planning.

Leave a Reply

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