Monday, 23 May 2016

VMware memory reclamation vSphere 6: Mem.minfreepct and sliding scale method PART2

Before I talk about sliding scale method, lets discuss about MEM.MINFREEPCT value. Eventually this discussion will lead us to understanding sliding scale method.

What is mem.minfreepct value?

MinFreePct determines the amount of memory that the VMkernel should keep free. This threshold is further subdivided in multiple memory thresholds i.e. High, Clear (New in vSphere 6), Soft, Hard and Low. These Memory thresholds are also called as Memory states, and it is introduced to prevent performance and correctness issues.

MinFreePct is not a fixed number instead it is calculated using sliding scale method and the value will depend on the host memory configuration.

Below table helps us to calculate the Minfreepct value.


 Let us understand sliding scale calculation of mem.minfreepct with an example.
  • Lets say I have 100GB of memory in ESXi host. 
  • So from the first 4GB of memory we will set aside 6% of 4GB which is equal to 245MB. 
  • For the second range of 4-12GB, i.e.8GB, we will set aside another 4% of 8GB  which is equal to 327MB.
  • For the third  range of 12-28GB, i.e.16GB, we will set aside 2% of 16GB which is equal to 327MB. 
  • Now from the remaining 72GB (i.e. 100GB host – 28GB) on my ESXi host, we will set aside 1% of 72 GB which is equal to 720MB. 
  • In total, If I sum all memory that I kept aside across all ranges, the value of Mem.MinFree is equal to1619MB. So the 1619MB of Memory, is being kept free for the system. 
  • Now, when the ESXi host has less than 1619MB of free memory, various memory reclamation techniques come in to play like High, Clear, Soft, Hard, and Low.
Memory states and their thresholds:

We referred something about different memory states earlier in this article. So in vSphere 6.0 onward, we have five memory states as listed below.
  • High
  • Clear (New in vSphere 6.0)
  • Soft
  • Hard
  • Low
These memory states are active as per the threshold value. Below table helps us to understand at which threshold these memory state are active.
Based on which memory state is active, respective memory reclamation techniques will kick in. I will talk more about it in another article. 
  • The soft and hard thresholds are related to virtual machine performance and memory starvation prevention.
  • The threshold for the low state protects the VMkernel layer from PSOD issues caused from memory starvation. 
  • The VMkernel employs more drastic memory reclamation techniques when it approaches the Low state
Below is the list of articles in this series for further reading.

PART1: Run cycle of reclamation techniques

PART3: Transperent Page sharing 
PART4: VMware Ballooning 
PART5: VMware Memory Compression
PART6: Hypervisor Swapping and Host SSD Swap

No comments:

Post a Comment

Popular Posts This Week