Wednesday, September 30, 2009

Few Question about ballooning and config max.

One of the guy asked me following question . Just wanted to share with you all

1) what is ballooning in VMWARE


When the ESX host’s machine memory is scarce or when a VM hits a Limit, The kernel needs to reclaim memory and prefers ballooning over swapping. The balloon driver is installed inside the guest OS as part of the VMware Tools installation and is also known as the vmmemctl driver.

When the ESX kernel wants to reclaim memory, it instructs the balloon driver to inflate. The balloon driver then requests memory from the guest OS. When there is enough memory available, the guest OS will return memory from its “free” list. When there isn’t enough memory, the guest OS will have to use its own memory management techniques to decide which particular pages to reclaim and if necessary page them out to its swap- or page-file.

In the background, the ESX kernel frees up the machine memory page that corresponds to the physical machine memory page allocated to the balloon driver. When there is enough memory reclaimed, the balloon driver will deflate after some time returning physical memory pages to the guest OS again.

This process will also decrease the Host Memory Usage parameter

Ballooning is only effective it the guest has available space in its swap- or page-file, because used memory pages need to be swapped out in order to allocated the page to the balloon driver. Ballooning can lead to high guest memory swapping. This is guest OS swapping inside the VM and is not to be confused with ESX host swapping, which I will discuss later on.

To view balloon activity we use the esxtop uitility again from the COS (see below). From the COS, issue the command “esxtop” en then press “m” to display the memory statistics page. Now press “f” and then “i” to show the vmmemctl (ballooning) columns.


On the top we see the “MEMCTL” counter which shows us the overall ballooning activity. The “curr” and “target” values are the accumulated values of the “MCTLSZ” and “MCTLTGT” as described below. We have to look for the “MCTL” columns to view ballooning activity on a per VM basis:

● “MCTL?”: indicates if the balloon driver is active “Y” or not “N”

● “MCTLSZ”: the amount (in MB) of guest physical memory that is actually reclaimed by the balloon driver

● “MCTLTGT”: the amount (in MB) of guest physical memory that is going to be reclaimed (targetted memory). If this counter is greater than “MCTLSZ”, the balloon driver inflates causing more memory to be reclaimed. If “MCTLTGT” is less than “MCTLSZ”, then the balloon will deflate. This deflating process runs slowly unless the guest requests memory.

● “MCTLMAX”: the maximum amount of guest physical memory that the balloon driver can reclaim. Default is 65% of assigned memory.

You can limit the maximum balloon size by specifying the “sched.mem.maxmemctl” parameter in the .vmx file of the VM. This value must be in MB.

2) what is the limitation of Physical Memory of VMWARE / ESX Server

3) what is the limitation of Physical CPU of VMWARE / ESX server

Hardware Processors

Table 2-1 displays the number of physical processors supported per ESX Server host.

Table 2-1. Supported Processor Configurations



Maximum Sockets

Maximum Cores

Maximum Threads

Single core

With hyperthreading




Without hyperthreading




Dual core

With hyperthreading




Without hyperthreading




Virtual Processors

A total of 128 virtual processors in all virtual machines per ESX Server host


64GB of RAM per ESX Server system

4) What is the Limitation of number of VMs in VMware per ESX server: 128

No comments: