Database Reference
In-Depth Information
Figure 7.6 Balloon driver in action.
A great analogy to describe the balloon driver is Robin Hood: It steals available free
memory from the rich virtual machines by inflating the balloon driver, freeing up that
memory back to the hypervisor so that memory-constrained (poor) VMs can use it
temporarily when there is not enough physical memory to go around.
Why the Balloon Driver Must Run on Each Individual VM
Because the hypervisor is completely decoupled from the virtual machines running on it,
the hypervisor has no idea how memory is actually being used within the individual
virtual machines. The balloon driver is a process that runs on each individual virtual
machine, communicating with the guest operating system to determine what is happening
with memory within the guest OS. The balloon driver has the ability to allocate and pin
unused memory and communicate what it has done back to the hypervisor.
Working with the hypervisor, the balloon driver then reclaims pages of memory that are
considered less valuable by the guest operating system. In other words, the balloon
driver works with the hypervisor to allocate memory from the guest operating systems
and return it back to the hypervisor for use.
If you think about the many VMs running within your host, many of them may not use all
the memory allocated to them. As a DBA, how many of the tables in your database do
you think are actually using all the space allocated to them? This is the same idea we
 
 
Search WWH ::




Custom Search