VMware

VMware Workstation 4

Features | Documentation | Knowledge Base | Discussion Forums

previous Prev   Contents   Last   Next next

Memory Usage Notes

Memory Usage Notes

VMware Workstation allows users to set the memory size of each virtual machine and the amount of physical host memory reserved for virtual machines. By adjusting the memory sizes of each virtual machine and the amount of reserved memory, users can affect both virtual machine and overall system performance. This section describes how VMware Workstation uses the memory configuration parameters to manage virtual machines and reserved memory properly.

Virtual Machine Memory Size

Virtual Machine Memory Size

The first configuration parameter users can set is the size of the virtual machine's physical memory. Set this configuration parameter in the Virtual Machine Control Panel (Edit > Virtual Machine Settings > Memory). The minimum size of the memory for the virtual machine should be set based on the recommendations of the operating system provider.

The New Virtual Machine Wizard sets what we believe are reasonable defaults for the memory size of a virtual machine, based on the type of the guest operating system and the amount of memory in the host computer.

The actual size that should be given to a virtual machine depends on a few practical considerations:

  • What kinds of applications will run in the virtual machine
  • What other virtual machines will contend with this virtual machine for memory resources
  • What applications will run on the host at the same time as the virtual machine

Windows operating systems do not behave well when they run low on free memory. For this reason users should not run virtual machines whose memory requirements exceed that of the host and other applications. To help guard against virtual machines causing the host to thrash, VMware Workstation enforces a limit on the total amount of memory that may be consumed by virtual machines:

The sum of the memories of all currently running virtual machines plus overhead for the VMware Workstation processes cannot exceed the amount of physical memory on the host minus some memory that must be kept available for the host.

Some memory must be kept available on the host to ensure the host is able to operate properly while virtual machines are running. The amount of memory reserved for the host depends on the host and the size of the host's memory.

Reserved Memory

Reserved Memory

The second configuration parameter that users can set is the amount of memory that VMware Workstation is allowed to reserve for all running virtual machines. To set this parameter, go to Edit > Application Settings > Memory.

This setting specifies a maximum amount of memory that VMware Workstation is allowed to reserve. But this memory is not allocated in advance. Even if multiple virtual machines are running at the same time, VMware Workstation may be using only a fraction of the reserved memory. Any unused reserved memory is available to be used by other applications. If all the reserved memory is in use by one or more virtual machines, the host operating system cannot use this memory itself or allow other applications to use it.

The memory used by VMware Workstation includes the memory made available to the guest operating systems plus a small amount of overhead memory associated with running a virtual machine.

The amount of memory actually used for a particular virtual machine varies dynamically as a virtual machine runs. If multiple virtual machines run simultaneously, they work together to manage the reserved memory.

The recommended amount of memory to reserve for all running virtual machines is calculated on the basis of the host computer's physical memory and is displayed in the reserved memory settings control - Edit > Application Settings > Memory. If you determine you want VMware Workstation to reserve more or less physical memory, you can use this control to change the amount.

Reserving too much physical memory can cause the host to thrash, or even hang, if other applications are run on the host. Reserving too little physical memory can cause virtual machines to perform very poorly and also limit the number of virtual machines that can be run.

Limits on the Number of Running Virtual Machines

Limits on the Number of Running Virtual Machines

By default, VMware Workstation limits the number of virtual machines that can run at once based on the amount of reserved memory. This is done to prevent virtual machines from causing each other to perform poorly. If you try to power on a virtual machine and there is not enough reserved memory available, the virtual machine fails to power on.

You can change the memory check so VMware Workstation only displays a warning message, rather than preventing the virtual machine from powering on. To do so, go to Edit > Application Settings > Memory and clear the Enable Memory Limits check box.

The total amount of memory used by all virtual machines running on a single host may not exceed 1GB.

Using More Than 1GB of Memory on a Linux Host

Using More Than 1GB of Memory on a Linux Host

By default, Linux kernels in the 2.2.x series support 1GB of physical memory. If you want to use more memory in Linux, you can take one of several approaches.

  • Upgrade to a 2.4.x series kernel that allows for more physical memory.
  • Recompile your kernel as a 2GB kernel using the CONFIG_2GB option.
  • Enable the CONFIG_BIGMEM option to map more physical memory. (This approach requires special steps, described in detail in the Workarounds section below, to work with VMware products.)

The CONFIG_2GB option calls for recompiling your kernel as a 2GB kernel. You do this by recompiling your kernel with CONFIG_2GB enabled. This allows Linux to support nearly 2GB of physical memory by dividing the address space into a 2GB user section and 2GB kernel section (as opposed to the normal division of 3GB for user and 1GB for kernel).

The third approach uses the CONFIG_BIGMEM option in Linux. With the CONFIG_BIGMEM option enabled, the kernel does not directly address all of physical memory and it can then map 1GB (or 2GB) of physical memory into the address space at a time. This allows the use of all of physical memory at the cost of changing the semantics the kernel uses to map virtual to physical addresses. However, VMware products expect physical memory to be mapped directly in the kernel's address space and thus do not work properly with the CONFIG_BIGMEM option enabled.

Workarounds

Workarounds

If you are using a 1GB kernel with CONFIG_BIGMEM enabled and have 960MB to 1983MB of memory, VMware Workstation does not run. To work around this issue, you can either:

  • Recompile the kernel as a 2GB kernel by enabling the CONFIG_2GB option. This allows for 100 percent use of physical memory.
  • Pass the boot-time switch mem=959M at the LILO prompt, or add it to lilo.conf, to disable CONFIG_BIGMEM and thus allow you to run VMware Workstation. To do this:
    • At the LILO prompt, type linux-2.2.16xxx mem=959M.
    • Or, edit lilo.conf. In the kernel section, add this line:
      append mem="959M"

If you have a 1GB kernel with CONFIG_BIGMEM enabled and have more than 1983MB of memory, you can do one of the following:

  • Recompile the kernel as a 2GB kernel by enabling the CONFIG_2GB option and either pass the boot-time switch mem=1983M at the LILO prompt or add it to lilo.conf. To use the switch:
    • At the LILO prompt, type linux-2.2.16xxx mem=1983M.
    • Or, edit lilo.conf. In the kernel section, add this line:
      append mem="1983M"
  • Pass the boot-time switch mem=959M at the LILO prompt or add it to lilo.conf to disable CONFIG_BIGMEM. To use the switch:
    • At the LILO prompt, type linux-2.2.16xxx mem=959M.
    • Or, edit lilo.conf. In the kernel section, add this line:
      append mem="959M"

If you are using a 2GB kernel with CONFIG_BIGMEM enabled and have 1984MB or more memory, VMware Workstation does not run. You can either pass the boot-time switch mem=1983M at the LILO prompt, or add it to lilo.conf to disable CONFIG_BIGMEM and thus allow you to run VMware Workstation. To use the switch:

  • At the LILO prompt, type linux-2.2.16xxx mem=1983M.
  • Or, edit lilo.conf. In the kernel section, add this line:
    append mem="1983M"

previous Prev   Contents   Last   Next next