VMware Workstation 4Features | Documentation | Knowledge Base | Discussion Forums
This section offers advice and information about factors that can affect the performance of VMware Workstation itself. This section does not address performance of the guest operating system or the host operating system.
Note: In addition to the VMware Workstation configuration options discussed below, you should always install VMware Tools in any guest operating system for which a VMware Tools package exists. Installing VMware Tools provides better video and mouse performance and also greatly improves the usability of the virtual machine. For details, see Installing VMware Tools.
Make certain you select the correct guest operating system for each of your virtual machines. To check the guest operating system setting, choose Edit > Virtual Machine Settings > Options > General.
VMware Workstation optimizes certain internal configurations on the basis of this selection. For this reason, it is important to set the guest operating correctly. The optimizations can greatly aid the operating system they target, but they may cause significant performance degradation if there is a mismatch between the selection and the operating system actually running in the virtual machine. (Selecting the wrong guest operating system should not cause a virtual machine to run incorrectly, but it may degrade the virtual machine's performance.)
Make sure to choose a reasonable amount of memory for your virtual machine. Many modern operating systems have a growing need for memory, so assigning a generous amount is a good thing.
The same holds true for the host operating system, especially a Windows host.
The New Virtual Machine Wizard automatically selects a reasonable starting point for the virtual machine's memory, but you may be able to improve performance by adjusting the settings in the Virtual Machine Control Panel (Edit > Virtual Machine Settings > Memory).
If you plan to run one virtual machine at a time most of the time, a good starting point is to give the virtual machine half the memory available on the host.
Adjusting the reserved memory settings may also help. Go to Edit > Application Settings > Memory.
For additional information, see Memory Usage Notes.
VMware Workstation can run in two modes - normal mode and a mode that provides extra debugging information. The debugging mode is slower than normal mode.
For normal use, check to be sure you are not running in debugging mode. Go to Edit > Virtual Machine Settings > Options and select Advanced. In the Advanced Options section, be sure there is no check in the Run with debugging information check box.
Some operating systems - including Windows NT and Windows 98 - poll the CD-ROM drive every second or so to see whether a disc is present. (This allows them to run autorun programs.) This polling can cause VMware Workstation to connect to the host CD-ROM drive, which can make it spin up while the virtual machine appears to pause.
If you have a CD-ROM drive that takes especially long to spin up, there are two ways you can eliminate these pauses.
The various disk options (SCSI versus IDE) and types (virtual or raw) affect performance in a number of ways.
Inside a virtual machine, SCSI disks and IDE disks that use direct memory access (DMA) have approximately the same performance. However, IDE disks can be very slow in a guest operating system that either cannot use or is not set to use DMA.
The easiest way to configure a Linux guest to use DMA for IDE drive access is to install VMware Tools (File > Install VMware Tools). Among other things, the installation process automatically sets IDE virtual drives to use DMA.
In Windows 2000, DMA access is enabled by default. In other Windows guest operating systems, the method for changing the setting varies with the operating system. See the following technical notes for details.
When a snapshot exists, virtual disks often have very good performance for random or nonsequential access. But they can potentially become so fragmented that performance is affected. In order to defragment the disk, you must first remove the snapshot (Snapshot > Remove Snapshot).
When no snapshot exists, raw disks and virtual disks with all the space allocated in advance both use flat files that mimic the sequential and random access performance of the underlying disk. When a snapshot exists and you have made changes since powering on the virtual machine, any access to those changed files performs at a level similar to the performance of a virtual disk that does not have all space allocated in advance. If you remove the snapshot, performance is again similar to that of the underlying disk.
Overall, if no snapshot exists and you are using raw disks or virtual disks with all the space allocated in advance, you see somewhat better performance than that provided by other configurations.
Disk writes may be slower for virtual disks that do not have all space allocated in advance. However, you can improve performance for these disks by defragmenting them from the Virtual Machine Control Panel. Choose Edit > Virtual Machine Settings, select the disk you want to defragment, then click Defragment.
Whenever possible, do not use disks that are on remote machines and accessed over the network unless you have a very fast network. If you must run disks remotely, choose Edit > Virtual Machine Settings > Options, select General and set the Working directory to a directory on your local hard disk. Then take a snapshot. After you take the snapshot, changes you make are stored locally in the working directory.
If you do not need to use the snapshot feature, it is best to run your virtual machine with no snapshot. This provides best performance. To be sure a virtual machine has no snapshot, choose Snapshot > Remove Snapshot.
Note: The items in this section describe performance of VMware Workstation on a Windows host. For tips on configuring VMware Workstation on a Linux host, see VMware Workstation on a Linux Host.
Note: The information in this hint was created to address scheduling problems with Windows NT. The issues are likely to be different in Windows 2000, Windows XP and Windows Server 2003; however, we do not currently have corresponding information for Windows 2000, Windows XP or Windows Server 2003 hosts.
The process scheduler on Windows NT does not necessarily schedule processes in a way that allows you to get the best performance from your particular combination of virtual machines and applications running on the host. VMware Workstation on a Windows host provides configuration options that let you adjust scheduling priorities to meet your needs.
These configuration options are available from the Edit > Application Settings > Priority and Edit > Virtual Machine Settings > Options > Advanced menu options. These menu items allow you to specify either high or normal priority when the mouse and keyboard are grabbed by the virtual machine and either normal or low priority when they are not grabbed.
Global priority is taken as the default across all virtual machines. Local priority overrides the global settings for just the specific virtual machine where you make the changes.
Pay particular attention to the grabbed: HIGH - ungrabbed: NORMAL and grabbed: NORMAL - ungrabbed: LOW settings.
The grabbed: HIGH - ungrabbed: NORMAL setting is useful if you have many background processes or applications and you do not care if they run with fairly low relative priority while VMware Workstation is in the foreground. In return, you get a very noticeable performance boost using a VMware Workstation virtual machine while another virtual machine is running or while some other processor-intensive task (a compile, for example) is running in the background.
The reverse is true of the grabbed: NORMAL - ungrabbed: LOW setting. If your host machine feels too sluggish when a virtual machine is running in the background, you can direct the virtual machine to drop its priority when it does not have control of the mouse and keyboard. As with the high setting, this is a heavy-handed change of priority, so the virtual machine and any background applications run much more slowly.
Note: The items in this section describe performance of VMware Workstation on a Linux host. For tips on configuring VMware Workstation on a Windows host, see VMware Workstation on a Windows Host.
Full screen mode is faster than window mode. As a result, if you do not need to have your virtual machine and your host sharing the screen, try switching to full screen mode.
Note: The extreme case of this is VGA mode. VGA mode is any mode in which the screen is in text mode (DOS, for example, or Linux virtual terminals), or 16-color 640 x 480 graphics mode (for example, the Windows 95 or Windows 98 clouds boot screen or any guest operating system that is running without the SVGA driver provided by VMware Tools).
On a Linux host, full screen VGA mode uses the underlying video card directly, so graphics performance is quite close to that of the host. By contrast, window mode VGA requires more computer resources to emulate than window mode SVGA. As a result, if you need to run for an extended period of time in VGA mode (for example, when you are installing an operating system using a graphical installer) you should see a significant performance boost if you run in full screen mode.
Certain guests (Windows 98, for example) expect a very high interrupt rate from their system timers. VMware Workstation on a Linux host uses /dev/rtc, the real-time clock device, to try to keep up. However, continually servicing /dev/rtc and using it to maintain a high interrupt rate increases the load on the host, even when the virtual machine does not appear to be busy.
To run without /dev/rtc, disconnect it using theVMware Workstation menu. While the virtual machine is running, go to Edit > Removable Devices > RTC > Disconnect. This may not make a critical difference in performance, but it can help reduce the load on the host.