Memory overcommitment is a concept in computing that covers the assignment of more memory to virtual computing devices than the physical machine they are hosted on actually has. This is possible because virtual machines do not necessarily use as much memory at any one point as they are assigned, creating a buffer. If four virtual machines each have 1GB of memory on a physical machine with 4GB of memory, but those virtual machines are only using 500MB, it is possible to create additional virtual machines that take advantage of the 500MB 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, it is actually a generalised concept; Windows NT contained overcommitment features, as do most modern generalised operating systems, including the Linux kernel.
- Portnoy, Matthew (2012). Virtualization Essentials. John Wiley & Sons. p. 60. ISBN 1118240170.
- Siebert, Eric (2009). VMware VI3 Implementation and Administration. Prentice Hall Professional. p. 166. ISBN 0137008597.
- Klein, Helge (25 September 2008). "VMware vs. Microsoft: Why Memory Overcommitment is Useful in Production and Why Microsoft Denies it". Sepago. Retrieved 22 April 2015.
- Santosa, Mulyadi. "When Linux Runs Out of Memory". O'Reilly Media. Retrieved 22 April 2015.