HOME

TheInfoList



OR:

Memory overcommitment is a concept in computing that covers the assignment of more
memory Memory is the faculty of the mind by which data or information is encoded, stored, and retrieved when needed. It is the retention of information over time for the purpose of influencing future action. If past events could not be remembered, ...
to virtual computing devices (or processes) than the physical machine they are hosted, or running on, actually has. This is possible because
virtual machine In computing, a virtual machine (VM) is the virtualization/emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve specialized hardw ...
s (or processes) do not necessarily use as much memory at any one point as they are assigned, creating a buffer. If four virtual machines each have 1 GB of memory on a physical machine with 4 GB of memory, but those virtual machines are only ''using'' 500 MB, it is possible to create additional virtual machines that take advantage of the 500 MB each existing machine is leaving free. Memory swapping is then used to handle spikes in memory usage. The disadvantage of this approach is that memory swap files are slower to read from than 'actual' memory, which can lead to performance drops. While memory overcommitment is usually talked about in the context of
virtualization In computing, virtualization or virtualisation (sometimes abbreviated v12n, a numeronym) is the act of creating a virtual (rather than actual) version of something at the same abstraction level, including virtual computer hardware platforms, stor ...
, it is actually a generalised concept; Windows NT contained overcommitment features, as do most modern generalised operating systems, including the
Linux kernel The Linux kernel is a free and open-source, monolithic, modular, multitasking, Unix-like operating system kernel. It was originally authored in 1991 by Linus Torvalds for his i386-based PC, and it was soon adopted as the kernel for the GNU ope ...
.


See also

*
Memory ballooning In computing, memory ballooning is a technique used to eliminate the need to overprovision host memory used by a virtual machine (VM). To implement it, the virtual machine's kernel implements a "balloon driver" which allocates unused memory within ...


References

Virtual machines Hardware virtualization {{compsci-stub