[an error occurred while processing this directive] VMware Product Configuration Performance Tips [an error occurred while processing this directive]
[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.



Contact Us   ::   Legal   ::   Privacy   ::   Site Index © 2005 VMware, Inc. All rights reserved.