Knowledge Base
The VMware Knowledge Base provides support solutions, error messages and troubleshooting guides

|
Reducing the amount of memory the VMkernel keeps free on ESXi 4.1 systems with at least 64GB of memory (changing minFreePct) (1033687)
Details
In ESXi 4.1 systems with at least 64GB of memory, changing the amount of memory the VMkernel keeps free in these systems can improve performance by preventing memory reclamation techniques (ballooning and swapping) from occurring too frequently.
The amount of memory the VMkernel keeps free is controlled by the value of minFreePct, which has a default value of 6% of managed memory. This means that when free memory is greater than or equal to 6%, the host is not under memory pressure.
The VMkernel uses free memory as a buffer to achieve changes to memory allocations more rapidly. Therefore, reducing minFreePct is only appropriate for systems which do not over-commit memory by more than 25%. For more information about over-committing memory, see the vSphere Resource Management Guide.
Solution
Change minFreePct to a value less than 6% and no lower than 2%. Any setting lower than 2% is not supported by VMware and is not recommended.
Note: VMware does not recommend changing the minFreePct value for systems with less than 64GB of memory.
To change the minFreePct setting for a running ESXi host:
- Log into the ESXi host console or use SSH. For more information, see: Using Tech Support Mode in ESXi 4.1 (1017910) and Enabling SSH on an ESXi 4.1.x host when hostd is unavailable (1033013).
- Set the value of minFreePct using the vsish command:
vsish -e set /sched/freeMemoryState/minFreePct <Percentage>
For example, to set the value of minFreePct to 2%:
vsish -e set /sched/freeMemoryState/minFreePct 2
The change takes effect immediately.
Note: The change does not persist across reboots. As a workaround, you can add the vsish command to /etc/rc.local. This runs the command on the ESXi host at each startup. For more information on how to edit the file, see Editing configuration files in VMware ESX (1017022).
To validate the current minFreePct setting on the ESXi host:
- Log into the ESXi host console or use SSH. For more information, see: Using Tech Support Mode in ESXi 4.1 (1017910) and Enabling SSH on an ESXi 4.1.x host when hostd is unavailable (1033013).
- Get the current value of minFreePct using the vsish command:
vsish -e get /sched/freeMemoryState/minFreePct
Note: You can also see the change in esxtop for the minfree value, which is found in VMKMEM on the Memory screen. For more information on the esxtop command, see Performance Monitoring Utilities: resxtop and esxtop in the vSphere Resource Management Guide.
Tags
Request a Product Feature
To request a new product feature or to provide feedback on a VMware product, please visit the Request a Product Feature page.
Actions
KB:
- Updated:
- Categories:
- Languages:
- Product Family:
- Product(s):
- Product Version(s):

