You can use the advanced memory attributes to customize memory resource usage.
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 disable reclamation for all virtual machines.||65|
|Mem.AllocGuestLargePage||Enables backing of guest large pages with host large pages. Reduces TLB misses and improves performance in server workloads that use guest large pages. 0=disable.||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 = disable.||15|
|Mem.MemZipEnable||Enables memory compression for the host. 0 = disable.||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||Enables large page defragmentation. 0 = disable.||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 enable 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= disable.