Search the VMware Knowledge Base (KB)
View by Article ID

Balloon driver retains hold on memory causing virtual machine guest operating system performance issues (1003470)

  • 22 Ratings


  • Balloon driver retains hold on memory, causing guest operating systems to start using swap space
  • Virtual machine guest operating systems experience performance issues or failure


This issue occurs due to a discrepancy between a virtual machine's memory allocation and reservation settings.

By default, a virtual machine's Resources > Memory > Limit > Unlimited box is selected, allowing the virtual machine to use full allocation. Migrating a virtual machine from ESX 2.x to 3.x or 4.x may cause a carry-over of memory reservation lesser than the virtual machine's allocated memory (likely a customer-specific setting).
The variables for comparison in the .vmx files are memsize and sched.mem.max .

To check the .vmx values for the Virtual Machines:
  1. SSH to the host(s)
  2. Run this command to list the variables for comparison:
    • All versions:

      egrep "memSize|sched.mem.max" /vmfs/volumes/*/*/*.vmx | awk -F/ '{print $6}' | more

      Note: This command can be run on any version, but you cannot access a Virtual Machine's .vmx file if it is powered on and running on another host.

    • In ESX 3.x/4.x:

      for VMX in `vmware-cmd -l`; do echo $VMX:; egrep "memsize|sched.mem.max" $VMX; done;

      : This is useful to limit the list of virtual machines to the one host you are connected to using SSH.

    • In ESXi 5.0:

      vm-support -V|sed 's/(Running)\|\|(Registered)//g'|xargs egrep "memsize|sched.mem.max"|more

      Note: This is useful to limit the list of virtual machines to the one host you are connected to using SSH.
If sched.mem.max is smaller than memsize, the balloon driver can start consuming memory (especially if the guest operating system application has periodic bursts of memory usage). However, this setting can cause the balloon driver to retain its hold on memory. If the guest operating system requires memory that is unavailable for the balloon driver, the guest operating system starts using swap memory instead, which slows it down considerably.
To force the balloon driver to release its hold on memory and prevent the guest operating system from using swap space, use one of these options:
  • Set the value of sched.mem.max to the allocated memory or greater.
  • Select the virtual machine's Resources > Memory > Limit > Unlimited box.
  • Migrate the virtual machine to another host.
Note: These changes do not require a restart of the virtual machine.

Additional Information

For translated versions of this article, see:

Update History

02/13/2012 - Added commands in Step 2 10/15/2012 - Added Migrate the virtual machine to another host. 10/08/2013 - Added vCenter Server 5.1 and 5.5; added ESXi 5.1 and 5.5

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.


  • 22 Ratings

Did this article help you?
This article resolved my issue.
This article did not resolve my issue.
This article helped but additional information was required to resolve my issue.

What can we do to improve this information? (4000 or fewer characters)

Please enter the Captcha code before clicking Submit.
  • 22 Ratings