Previous, Next, Table of Contents.

Memory Preferences

Virtual machines require relatively large amounts of memory to operate with reasonable performance. This memory comes out of the same pool of memory used by all applications on the host machine. The memory used by VMware includes the memory for the virtual machine itself, as well as overhead memory associated with running a virtual machine. The the virtual machine's memory size is specified in the virtual machine configuration.

VMware locks the host's physical memory to improve virtual machine performance. The amount of memory that is actually locked for a particular virtual machine varies dynamically as it runs. If several virtual machines run simultaneously, they will work together to manage the locked memory.

To provide good overall systems performance, VMware limits the amount of the host's memory that can be locked by all virtual machines together. The physical memory that VMware locks is called reserved memory because it is reserved for use by VMware if it needs it. Any reserved memory used by virtual machines is not available to the other applications or to the host operating system. VMware only uses the reserved memory if it determines that a virtual machine needs reserved memory to have reasonable performance. Even if multiple virtual machines are running at the same time, VMware may be using only a fraction of the reserved memory, thus allowing any unused reserved memory to be used by other applications. Within this reserved memory pool an individual virtual machine can use at most the amount of memory configured in its configuration file plus some overhead. The amount of overhead memory required ranges from a few to less than ten megabytes depending on the size of the guest and its behavior.

VMware allows you to set the maximum amount of memory that it will reserve. The recommended amount of memory to reserve for VMware applications is 50% of the host's physical memory. If you determine that you want VMware to reserve more or less physical memory, then you can change this amount by using the slider. Changing the amount of reserved memory is recommended only for advanced users because it can have an adverse impact on host or virtual machine performance. Selecting too much physical memory to reserve can cause the host to thrash, or even hang, if other applications are run on the host. Selecting too little physical memory to reserve can cause virtual machines to perform very poorly and also limit the number of virtual machines that can be run.

By default, a virtual machine performs two checks to ensure that enough free memory is left to the host machine to continue to operate efficiently. First, on power on it checks that the total amount of memory allocated to all running virtual machines does not exceed the total physical memory of the host. Second, the virtual machine periodically checks that the reserved memory allocated to currently running virtual machines does not exceed the total amount of reserved memory. If either of these checks fail, the virtual machine will terminate. Clicking the Advanced button displays two checkboxes for disabling these memory limits:

Perform physical host memory check
Uncheck this box to allow a virtual machine to run even when configured with more memory than is physically available on the host.
Perform reserve memory limit check
Uncheck this box to allow virtual machines to exceed the amount of memory reserved for them.

Note that disabling either of these checks can result in poor performance, and even system crashes.

See Also