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 (or processes) do not necessarily use as much memory at any one point as they are assigned, creating a buffer.
The disadvantage of this approach is that memory swap files are slower to read from than 'actual' memory, which can lead to performance drops.
Should a program do so anyway, it or another has to be killed in order to free up memory to prevent the system from freezing.
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,[3] including the Linux kernel.