VMware Workstation 3.2
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 Settings > Configuration Editor > Options (on a Windows host) or Settings > Configuration Editor > Misc (on a Linux host).
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 are increasingly hungry for memory, so assigning a healthy amount is a good thing.
The same holds true of the host operating system, especially a Windows host.
The New Virtual Machine Wizard (on Windows hosts) or Configuration Wizard (on Linux hosts) 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 Configuration Editor (Settings > Configuration Editor > 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. On a Windows host, go to Settings > Preferences > Memory. On a Linux host, go to Settings > Reserved 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 aren't running in debugging mode. On a Windows host, go to Settings > Configuration Editor > Options. In the Debug Options section, be sure there is no check in the Debug Monitor check box. On a Linux host, go to Settings > Configuration Editor > Misc. Make sure the logging level is set to Normal.
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 (Settings > VMware Tools Install). 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.
Virtual disks in nonpersistent and undoable mode often have very good performance for random or nonsequential access. But they can potentially become fragmented to a level that cannot be fixed with defragmentation tools inside the guest. This can slow performance.
When run in persistent mode, raw disks (and plain disks, which may have been created under VMware Workstation 2.0) both use flat files that mimic the sequential and random access performance of the underlying disk. When you are using undoable mode and 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. Once you commit the changes, performance is again similar to that of the underlying disk.
Overall, if you are using raw (or plain) disks in persistent mode, you see somewhat better performance than that provided by other disk types and modes.
In exchange, because you are using persistent mode, you sacrifice the ability to undo the writing of any information to the disk. And because you are not using virtual disks, you cannot take advantage of the fact that virtual disks initially have a small footprint in the host file system and grow only as needed as you fill the virtual disk.
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, make certain to use disks in undoable mode. Then go to Settings > Configuration Editor > Options (on Windows hosts) or Settings > Configuration Editor > Misc (on Linux hosts) and set the Redo Log Directory to a directory on your local hard disk.
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 .NET Server; however, we do not currently have corresponding information for Windows 2000, Windows XP or Windows .NET Server 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 Settings > Local Priority and Settings > Global Priority 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 9x 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 effectively very close to that of the host. By contrast, window mode VGA is more expensive 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 very 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 try running without /dev/rtc, disconnect it using the Devices menu. This may not make a critical difference in performance, but it can help reduce the load on the host.