VMware Cloud Community
mowgus
Enthusiast
Enthusiast
Jump to solution

When will ESX deflate balloon driver?

At some point on one of my hosts (likely when another host in the cluster was in maintenance mode), there was memory contention on the host and it invoked the balloon driver on one of my VMs.  Ok, understood.  However, I'm trying to get an understanding on when the balloon should "deflate". 

The host is now in a high state with zero contention but the balloon driver in the VM stays inflated.  Does the balloon only deflate when the VM requires that memory back?  I understand the need for the balloon driver and it makes sense when it's used but I don't like the fact that it remains active long after the contention has been removed (possibly causing the VM OS to swap locally?)  Oh and I have no reservations, no limits, no resource pools.

Incidentally, I migrated the VM to a new host and the ballooning stopped and did not re-occur (so far...)

Here's an exerpt from the esxtop before I migrated the VM.

4:09:08pm up 27 days 14:45, 311 worlds; MEM overcommit avg: 0.00, 0.00, 0.00

PMEM  /MB: 65525   total:  1359     vmk, 51896 other,  12269 free

VMKMEM/MB: 64475 managed:  3868 minfree,  8143 rsvd,  56332 ursvd,  high state

NUMA  /MB: 32191 ( 7682), 32623 ( 6424)

PSHARE/MB:  4625  shared,  1296  common:  3329 saving

SWAP  /MB:   222    curr,   147 rclmtgt:                 0.00 r/s,   0.00 w/s

ZIP   /MB:   172  zipped,   115   saved

MEMCTL/MB:  2662    curr,  2662  target, 37239 max

   GID NAME               MEMSZ    GRANT    SZTGT     TCHD   TCHD_W    SWCUR    SWTGT   SWR/s   SWW/s   OVHDUW     OVHD  OVHDMAX

1382063 VMNORMAL1    8192.00  8191.05  8279.96   655.36   573.44     0.95     0.00    0.00    0.00    53.99    91.48   183.30

1744260 VMNORMAL2     4096.00  4096.00  4115.46   204.80   163.84     0.00     0.00    0.00    0.00    37.80    64.50   135.35

1078435 VMNORMAL3     4096.00  4096.00  4167.01   122.88   122.88     0.00     0.00    0.00    0.00    48.14    72.68   139.47

  2865 VMBALLOON     4096.00  1076.02   870.70    28.67    14.34   105.55   147.73    0.00    0.00    48.14    73.98   138.97

0 Kudos
1 Solution

Accepted Solutions
mcowger
Immortal
Immortal
Jump to solution

Indeed, your guess is correct - the balloon driver does not 'actively'  return memory when the contention condition ends - it waits until the VM explicitly needs the memory to do so.

Migrating a VM always causes the balloon driver to release its hold.

--Matt VCDX #52 blog.cowger.us

View solution in original post

0 Kudos
1 Reply
mcowger
Immortal
Immortal
Jump to solution

Indeed, your guess is correct - the balloon driver does not 'actively'  return memory when the contention condition ends - it waits until the VM explicitly needs the memory to do so.

Migrating a VM always causes the balloon driver to release its hold.

--Matt VCDX #52 blog.cowger.us
0 Kudos