You can use the advanced memory attributes to customize memory resource usage.

Table 1. Advanced Memory Attributes
Attribute Description Default

Mem.ShareForceSalting 0: Inter-virtual machine Transparent Page Sharing (TPS) behavior is still retained. The value of VMX option sched.mem.pshare.salt is ignored even if present.

Mem.ShareForceSalting 1: By default the salt value is taken from sched.mem.pshare.salt. If not specified, it falls back to old TPS (inter-VM) behavior by considering salt values for the virtual machine as 0.

Mem.ShareForceSalting 2: By default the salt value is taken from sched.mem.pshare.salt if present, or vc.uuid. If it does not exist, then the page sharing algorithm generates random and unique value for salting per virtual machine, which is not configurable by users.

Mem.SamplePeriod Specifies the periodic time interval, measured in seconds of the virtual machine’s execution time, over which memory activity is monitored to estimate working set sizes. 60
Mem.BalancePeriod Specifies the periodic time interval, in seconds, for automatic memory reallocations. Significant changes in the amount of free memory also trigger reallocations. 15
Mem.IdleTax Specifies the idle memory tax rate, as a percentage. This tax effectively charges virtual machines more for idle memory than for memory they are actively using. A tax rate of 0 percent defines an allocation policy that ignores working sets and allocates memory strictly based on shares. A high tax rate results in an allocation policy that allows idle memory to be reallocated away from virtual machines that are unproductively hoarding it. 75

Specifies the maximum amount of memory pages to scan (per second) for page sharing opportunities for each GHz of available host CPU resource. For example, defaults to 4 MB/sec per 1 GHz.

Mem.ShareScanTime Specifies the time, in minutes, within which an entire virtual machine is scanned for page sharing opportunities. Defaults to 60 minutes. 60
Mem.CtlMaxPercent Limits the maximum amount of memory reclaimed from any virtual machine using the memory balloon driver (vmmemctl), based on a percentage of its configured memory size. Specify 0 to deactivate reclamation for all virtual machines. 65
Mem.AllocGuestLargePage Activates backing of guest large pages with host large pages. Reduces TLB misses and improves performance in server workloads that use guest large pages. 0=deactivate. 1




Reduces memory fragmentation by improving the probability of backing guest large pages with host large pages. If host memory is fragmented, the availability of host large pages is reduced. 0 = deactivate. 15
Mem.MemZipEnable Activates memory compression for the host. 0 = deactivate. 1
Mem.MemZipMaxPct Specifies the maximum size of the compression cache in terms of the maximum percentage of each virtual machine's memory that can be stored as compressed memory. 10
LPage.LPageDefragEnable Activates large page defragmentation. 0 = deactivate. 1
LPage.LPageDefragRateVM Maximum number of large page defragmentation attempts per second per virtual machine. Accepted values range from 1 to 1024. 32
LPage.LPageDefragRateTotal Maximum number of large page defragmentation attempts per second. Accepted values range from 1 to 10240. 256

Try to allocate large pages for nested page tables (called 'RVI' by AMD or 'EPT' by Intel). If you activate this option, all guest memory is backed with large pages in machines that use nested page tables (for example, AMD Barcelona). If NPT is not available, only some portion of guest memory is backed with large pages. 0= deactivate.