This section provides guidance regarding a number of general performance considerations in the guest operating system.

Guest Operating System Miscellaneous Considerations

  • Use guest operating systems that are supported by VMware Cloud on AWS. Refer to the VMware Compatibility Guide for a list (go to http://www.vmware.com/resources/compatibility then, in What are you looking for: choose Guest OS).

    Note:

    VMware Tools might not be available for unsupported guest operating systems.

  • Install the latest version of VMware Tools in the guest operating system. Make sure to update VMware Tools after each VMware Cloud on AWS upgrade.

    Installing VMware Tools in Windows guests updates the BusLogic SCSI driver included with the guest operating system to the VMware-supplied driver. The VMware driver has optimizations that guest-supplied Windows drivers do not.

    VMware Tools also includes the balloon driver used for memory reclamation. Ballooning (described in Memory Overcommit Techniques) will not work if VMware Tools is not installed.

  • Deactivate screen savers and Window animations in virtual machines. On Linux, if using an X server is not required, deactivate it. Screen savers, animations, and X servers all consume extra physical CPU resources, potentially affecting consolidation ratios and the performance of other virtual machines.

  • Schedule backups and virus scanning programs in virtual machines to run at off-peak hours. Avoid scheduling them to run simultaneously in multiple virtual machines on the same host. In general, it is a good idea to evenly distribute CPU usage not just across CPUs, but also across time. For workloads such as backups and virus scanning, where the load is predictable, this is easily achieved by scheduling the jobs appropriately.

  • For the most accurate timekeeping, consider configuring your guest operating system to use NTP, Windows Time Service, the VMware Tools time-synchronization option, or another timekeeping utility suitable for your operating system.

    We recommend, however, that within any particular virtual machine you use either the VMware Tools time-synchronization option or another timekeeping utility, but not both.

    For additional information about best practices for timekeeping within virtual machines, see VMware KB articles 1318 and 1006427.

Measuring Performance in Virtual Machines

Be careful when measuring performance from within virtual machines.

  • vSphere allows you to take advantage of virtualized CPU performance counters to use performance tuning tools inside the guest operating system. For more information, see Monitoring Guest Operating System Performance in vSphere Monitoring and Performance and Enable Virtual CPU Performance Counters in vSphere Virtual Machine Administration.

  • Timing numbers measured from within virtual machines can be inaccurate, especially when the processor is overcommitted.

    One possible approach to this issue is to use a guest operating system that has good timekeeping behavior when run in a virtual machine, such as a guest that uses the NO_HZ kernel configuration option (sometimes called “tickless timer”). More information about this topic can be found in the white paper Timekeeping in VMware Virtual Machines.

  • Measuring performance from within virtual machines can fail to take into account resources used by VMware Cloud on AWS for tasks it offloads from the guest operating system, as well as resources consumed by virtualization overhead.

Measuring resource utilization using tools at the host level (such as the vSphere Client, VMware Tools, or resxtop) can avoid these problems.

Note:

Although esxtop can’t be used in VMware Cloud on AWS, resxtop can. See the blog post ESXTOP and VMware Cloud on AWS for guidance. For information about using resxtop see Performance Monitoring Utilities: resxtop and esxtop in vSphere Monitoring and Performance.