Memory Ballooning
   HOME

TheInfoList



OR:

In
computing Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, hardware and softw ...
, memory ballooning is a technique that is used to eliminate the need to overcommit host memory used by
virtual machine In computing, a virtual machine (VM) is the virtualization or emulator, emulation of a computer system. Virtual machines are based on computer architectures and provide the functionality of a physical computer. Their implementations may involve ...
s (VMs) by letting each VM effectively "give back" unused pages of irtualmemory. To implement memory ballooning, the virtual machine's kernel implements a "balloon driver" that allocates unused memory within the VM's address space into a pool of memory (the "balloon"), which makes that memory unavailable to other processes on that VM. The balloon driver doesn't use the pool of memory; instead it tells the host operating system's
hypervisor A hypervisor, also known as a virtual machine monitor (VMM) or virtualizer, is a type of computer software, firmware or hardware that creates and runs virtual machines. A computer on which a hypervisor runs one or more virtual machines is called ...
which memory addresses are in that pool (unused). The host operating system then unmaps physical memory from those memory pages (with no need to copy them to secondary storage). The released pages of physical memory return to the host machine's pool of available RAM, and the host machine can use them to keep other virtual machines in physical memory and/or to cache secondary storage. Depending on the amount of memory required by applications running on the VM, the balloon driver inside the VM can dynamically decrease or increase the number of pages in its "balloon", causing the host computer to remap or unmap physical memory to the VM, as-needed.


References


See also

*
Memory overcommitment Memory overcommitment is a concept in computing that covers the assignment of more memory to virtual computing devices (or processes) than the physical machine they are hosted, or running on, actually has. This is possible because virtual machines ( ...
* Thin provisioning Memory management Virtual machines {{Compsci-stub