| [an error occurred while processing this directive] |
| |
VMware Product Configuration Performance Tips
This document offers advice and information about factors that can affect
the performance of VMware products themselves. These notes do not address
performance of the guest operating system or the host operating system.
Some of these notes may apply to earlier VMware products.
Note: In addition to the VMware product configuration options discussed
below, you should always install VMware Tools any time you run a guest operating
system for which a VMware Tools package exists. This provides better video
performance and greatly improves the usability of the virtual machine. See
this technical note
for details on installing VMware Tools.
General VMware Product Options
Guest operating system selection
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, then click Guest OS.)
VMware products optimize 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.)
Memory settings
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. However, the same holds true of
the host, especially the Windows NT or Windows 2000 host. The Configuration
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 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 global memory settings may also help. On a Linux host, go to
Settings > Total Reserved Memory. On a Windows NT or Windows 2000 host,
go to Settings > Global Preferences > Memory.
For additional information, click the link below that corresponds to your
VMware product and host operating system.
Debugging mode
VMware products 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. Go
to Settings > Configuration Editor > Misc. On a Linux host, be sure
the logging level is set to Normal. On a Windows NT or Windows 2000 host,
be sure the check box beside Run with Debugging Information is cleared.
CD-ROM drive polling
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 the VMware
product 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.
You can disable the polling inside your guest operating system. The method
varies by operating system. For recent Microsoft Windows operating systems,
the easiest way is to use TweakUI from the PowerToys utilities. For
information on finding TweakUI and installing it in your guest operating
system, go to http://www.microsoft.com and search for TweakUI.
Specific instructions depend on your operating system.
Another approach is to configure your virtual CD-ROM drive to start
disconnected. The drive appears in the virtual machine, but it always appears
to contain no disc (and the VMware product does not connect to your host
CD-ROM drive).
To make this change, go to Settings > Configuration Editor, expand
either IDE Drives or SCSI Drives (depending on how you have configured
your virtual CD-ROM drive), and click the device that represents your
virtual CD-ROM drive. The clear the Start Connected check box.
When you want to use a CD-ROM in the virtual machine, go to the Removable
Devices menu and connect the CD-ROM drive.
Disk options
The various disk options (SCSI versus IDE) and types (raw, plain, or virtual)
may 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. 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 (at a level that cannot be fixed with defragmentation
tools inside the guest). This can slow performance.
Plain disks and raw disks, when run in persistent mode, 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 will
see marginally better performance than that provided by other disk types
and modes.
In exchange, because you are using persistent mode, you sacrifice the
option of being able to undo writes 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 when you fill the virtual disk.
Remote disk access
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 undoable disks, then go to Settings >
Configuration Editor > Misc and set the Redo Log Directory to a directory
on your local hard disk.
Linux Host Operating Systems
Note: The items in this section describe performance of VMware
products on Linux host operating systems. For tips on configuring VMware
products for Windows NT and Windows 2000 host operating systems, see the next
section of this document.
Using full-screen mode
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. GSX Server and ESX Server virtual machines
can run in full-screen mode only when connected by from a local console.
Note: The extreme case of this is VGA mode. VGA mode is any mode
where 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 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 plan to run a virtual machine 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.
System timer
Certain guests (Windows 98, for example) expect a very high interrupt
rate from their system timers. VMware products on Linux hosts use
/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
Removable Devices menu. This may not make a critical difference in
performance, but it can help reduce the load on the host.
Windows NT and Windows 2000 Host
Operating Systems
Note: The items in this section describe performance of VMware
products on Windows NT and Windows 2000 host operating systems. For tips on
configuring VMware products for Linux hosts, see the previous section of this
document.
Process scheduling
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; however, we do not currently have corresponding
information for Windows 2000 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 products on Windows NT and Windows 2000 hosts provide
configuration options that let you adjust scheduling priorities to meet your needs.
These configuration options are available by choosing Settings > Local
Priority and Settings > Global Priority. 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 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
of background processes or applications and you do not care if they run with
fairly low relative priority while a virtual machine is in the foreground. In
return, you get a very noticable performance boost using a 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 inside) runs much more slowly.
Graphics mode
VMware products offer two modes for host emulation of the graphics inside
the virtual machine GDI (Graphics Device Interface, the classic
Windows graphics mode) and DirectDraw (a mode designed for games and other
applications that write directly to the hardware).
You can set these modes in the Configuration Editor Settings
> Configuration Editor > Display. You can set both a global preference
(which applies across all virtual machines) and a local preference (which
applies to the specific virtual machine where you make the changes and
overrides the global settings).
Basically, you should make the choice between GDI and DirectDraw based
upon the guest and the type of graphics operations it does.
In general, Windows guest operating systems (Windows 95, Windows 98,
Windows NT, and Windows 2000) perform better in GDI mode than in DirectDraw mode.
Linux guest operating systems (or any guest operating systems that use an
X server) run much better in DirectDraw mode.
Note: DirectDraw on Windows 2000 is fairly buggy, so the virtual
machine displays a cautionary message if you try to enable it. In addition,
some specific issues have been identified on both Windows NT and Windows
2000 hosts when the virtual machine is using DirectDraw mode. Details are
available in this
Workstation 2.0.x troubleshooting note or this this
GSX Server troubleshooting note.
|
|