Knowledge Base

The VMware Knowledge Base provides support solutions, error messages and troubleshooting guides
 
Search the VMware Knowledge Base (KB)   View by Article ID
 

Timekeeping best practices for Linux guests (1006427)

Purpose

This article presents best practices for Linux timekeeping. These recommendations include specifics on the particular kernel command line options to use for the Linux operating system of interest. There is also a description of the recommended settings and usage for NTP time sync, configuration of VMware Tools time synchronization, and Virtual Hardware Clock configuration, to achieve best timekeeping results.

Cause

This issue occurs due to Time Drift.

Resolution

Linux Timekeeping Best Practices

Notes:
  • When both SMP and UP kernels are available, they must be applied to the appropriate SMP and UP virtual machines, otherwise a mismatch may cause time to drift.
  • The recommended kernel parameters must be added to the kernel parameters already configured by the distribution.

    32-bit Kernels

    Linux DistributionVersionKernel Parameters    Notes
    RHELRHEL 6.xNo additional kernel parameters required.
    RHEL 5.8No additional kernel parameters required. See the note below about the optional use of divider=10.
    RHEL 5.7No additional kernel parameters required. See the note below about the optional use of divider=10.
    RHEL 5.6No additional kernel parameters required. See the note below about the optional use of divider=10.
    RHEL 5.5No additional kernel parameters required. See the note below about the optional use of divider=10.
    RHEL 5.4No additional kernel parameters required. See the note below about the optional use of divider=10.
    RHEL 5.3divider=10 clocksource=acpi_pm
    RHEL 5.2divider=10 clocksource=acpi_pm
    RHEL 5.1divider=10 clocksource=acpi_pm
    RHEL 5.0clocksource=acpi_pm
    RHEL 4.9clock=pmtmr
    divider=10
    hpet=disable
    RHEL 4.8clock=pmtmr
    divider=10
    hpet=disable
    RHEL 4.7clock=pmtmr
    divider=10
    hpet=disable
    RHEL 4.6clock=pmtmr
    hpet=disable
    RHEL 4.5clock=pmtmr
    hpet=disable
    RHEL 4.4clock=pmtmr
    hpet=disable
    RHEL 4.3clock=pmtmr
    hpet=disable
    RHEL 4.2clock=pmtmr
    hpet=disable
    RHEL 4.1clock=pmtmr
    hpet=disable
    RHEL 4.0clock=pmtmr
    hpet=disable
    RHEL 3 (All updates)No additional kernel parameters required.
    RHEL 2.1No additional kernel parameters required.
    RedhatRedhat 9.0No additional kernel parameters required.
    Redhat 8.0No additional kernel parameters required.
    Redhat 7.3No additional kernel parameters required.
    Redhat 7.2No additional kernel parameters required.
    Redhat 7.1No additional kernel parameters required.
    Redhat 7.0No additional kernel parameters required.
    Redhat 6.2No additional kernel parameters required.
    SLESSLES 11 (All updates)No additional kernel parameters required.
    SLES 10 SP4 on ESX 5.0 and laterclock=pmtmr
    hpet=disable
    SLES 10 SP4 on ESX 4.xUse a VMI enabled kernel.
    SLES 10 SP3 on ESXi 5.0clock=pmtmr
    hpet=disable
    SLES 10 SP3 on ESX 3.5 and 4.xUse a VMI enabled kernel.
    SLES 10 SP3 on ESX 3.0.x and earlierclock=pmtmr
    hpet=disable
    SLES 10 SP2 on ESXi 5.0clock=pmtmr
    hpet=disable
    SLES 10 SP2 on ESX 3.5 and 4.xUse a VMI enabled kernel.
    SLES 10 SP2 on ESX 3.0.x and earlierclock=pmtmr
    hpet=disable
    SLES 10 SP1clock=pmtmr
    hpet=disable
    SLES 10clock=pmtmr
    hpet=disable
    SLES 9 (All updates)clock=pmtmr
    hpet=disable
    SLES 8No additional kernel parameters required.
    SLES 7No additional kernel parameters required.
    SLEDSLED 11No additional kernel parameters required.
    SLED 10clock=pmtmr
    hpet=disable
    SLED 9clock=pmtmr
    hpet=disable
    Suse LinuxSuse Linux 10.3clocksource=acpi_pm
    Suse Linux 10.2clocksource=acpi_pm
    Suse Linux 10.1clock=pmtmr
    hpet=disable
    Suse Linux 10clock=pmtmr
    hpet=disable
    Suse Linux 9.3clock=pmtmr
    hpet=disable
    Suse Linux 9.2clock=pmtmr
    hpet=disable
    Suse Linux 9.1clock=pmtmr
    hpet=disable
    Suse Linux 9.0Remove desktop kernel command line parameter.
    Suse Linux 8.2No additional kernel parameters required.
    Suse Linux 8.1No additional kernel parameters required.
    Suse Linux 8.0No additional kernel parameters required.
    Suse Linux 7.3No additional kernel parameters required.
    UbuntuUbuntu 12.04No additional kernel parameters required.
    Ubuntu 11.10No additional kernel parameters required.
    Ubuntu 11.04No additional kernel parameters required.
    Ubuntu 10.10No additional kernel parameters required.
    Ubuntu 10.04No additional kernel parameters required.
    Ubuntu 9.10No additional kernel parameters required.
    Ubuntu 9.04 with kernel 2.6.28-7.18 or later on ESX 4.0 or laterNo additional kernel parameters required.
    Ubuntu 9.04 with kernel prior to 2.6.28-7.18 on ESX 4.0 or laterAvoid using if possible. May cause guest operating system to stop responding.
    Ubuntu 8.10 with kernel 2.6.27-12.28 or later on ESX 4.0 or laterNo additional kernel parameters required.
    Ubuntu 8.10 with kernel prior to 2.6.27-12.28 on ESX 4.0 or laterAvoid using if possible. May cause guest operating system to stop responding.
    Ubuntu 8.10clocksource=acpi_pm
    Ubuntu 8.04 on ESXi 5.0clocksource=acpi_pm
    Ubuntu 8.04 on ESX 3.5 and 4.xUse a VMI enabled kernel.
    Ubuntu 8.04 on ESX 3.0.x and earlierclocksource=acpi_pm
    Ubuntu 7.10clocksource=acpi_pm
    Ubuntu 7.04clocksource=acpi_pm
    Ubuntu 6.10clock=pmtmr
    hpet=disable
    Ubuntu 6.06clock=pmtmr
    hpet=disable
    Ubuntu 5.10clock=pmtmr
    hpet=disable
    Ubuntu 5.04clock=pmtmr
    hpet=disable
    MandrivaMandriva Corporate Desktop 4.0clock=pmtmr
    hpet=disable
    Mandriva Corporate Server 4clock=pmtmr
    hpet=disable
    Mandriva Linux 2008clocksource=acpi_pm
    Mandriva Linux 2007clock=pmtmr
    hpet=disable
    Mandriva Linux 2006clock=pmtmr
    hpet=disable
    Mandrake 10.1Does not support pmtmr. Avoid using if possible.
    Mandrake 10Does not support pmtmr. Avoid using if possible.
    Mandrake 9.2No additional kernel parameters required.
    Mandrake 9.1No additional kernel parameters required.
    Mandrake 9.0No additional kernel parameters required.
    Mandrake 8.2No additional kernel parameters required.
    Mandrake 8.1No additional kernel parameters required.
    Mandrake 8.0No additional kernel parameters required.
    TurbolinuxTurbolinux 10 DesktopDoes not support pmtmr. Avoid using if possible.
    Turbolinux 10 Serverclock=pmtmr
    hpet=disable
    Turbolinux Enterprise 8No additional kernel parameters required.
    Turbolinux Workstation 8No additional kernel parameters required.
    Turbolinux 7.0No additional kernel parameters required.
    AsianuxAsianux Server 4 (all updates)No additional kernel parameters required.
    Asianux 3.0 SP4No additional kernel parameters required.
    Asianux 3.0 SP3No additional kernel parameters required.
    Asianux 3.0 SP2No additional kernel parameters required.
    Asianux 3.0 SP1No additional kernel parameters required. Use kernel 2.6.18-53.17AXS3 or later.
    Asianux 3.0divider=10 clocksource=acpi_pm
    CentOSCentOS 6.xNo additional kernel parameters required.
    CentOS 5.8No additional kernel parameters required. See the note below about the optional use of divider=10.
    CentOS 5.7No additional kernel parameters required. See the note below about the optional use of divider=10.
    CentOS 5.6No additional kernel parameters required. See the note below about the optional use of divider=10.
    CentOS 5.5No additional kernel parameters required. See the note below about the optional use of divider=10.
    CentOS 5.4No additional kernel parameters required. See the note below about the optional use of divider=10.
    CentOS 5.3divider=10 clocksource=acpi_pm
    CentOS 5.2divider=10 clocksource=acpi_pm
    CentOS 5.1divider=10 clocksource=acpi_pm
    CentOS 5.0clocksource=acpi_pm
    CentOS 4.9clock=pmtmr
    divider=10
    hpet=disable
    CentOS 4.8clock=pmtmr
    divider=10
    hpet=disable
    CentOS 4.7clock=pmtmr
    divider=10
    hpet=disable
    CentOS 4.6clock=pmtmr
    hpet=disable
    CentOS 4.5clock=pmtmr
    hpet=disable
    CentOS 4.4clock=pmtmr
    hpet=disable
    CentOS 4.3clock=pmtmr
    hpet=disable
    CentOS 4.2clock=pmtmr
    hpet=disable
    CentOS 4.1clock=pmtmr
    hpet=disable
    CentOS 4.0clock=pmtmr
    hpet=disable
    OracleOracle Linux 6.xNo additional kernel parameters required.
    Oracle Linux 5.8No additional kernel parameters required. See the note below about the optional use of divider=10.
    Oracle Linux 5.7No additional kernel parameters required. See the note below about the optional use of divider=10.
    Oracle Linux 5.6No additional kernel parameters required. See the note below about the optional use of divider=10.
    OEL 5.5No additional kernel parameters required. See the note below about the optional use of divider=10.
    OEL 5.4No additional kernel parameters required. See the note below about the optional use of divider=10.
    OEL 5.3divider=10 clocksource=acpi_pm
    OEL 5.2divider=10 clocksource=acpi_pm
    OEL 5.1divider=10 clocksource=acpi_pm
    OEL 5.0clocksource=acpi_pm
    OEL 4.9clock=pmtmr
    divider=10
    hpet=disable
    OEL 4.8clock=pmtmr
    divider=10
    hpet=disable
    OEL 4.7clock=pmtmr
    divider=10
    hpet=disable
    OEL 4.6clock=pmtmr
    hpet=disable
    OEL 4.5clock=pmtmr
    hpet=disable
    DebianDebian 6.0No additional kernel parameters required.
    Debian 5.0No additional kernel parameters required.
    Debian 4.xdivider=10 clocksource=acpi_pm
    Arch LinuxAll Versionstimedatectl set-local-rtc trueVerify Time Source:

    timedatectl status | grep local

    No additional kernel parameters required.


    64-bit Kernels

    Linux DistributionVersionKernel ParametersNotes
    RHELRHEL 6.xNo additional kernel parameters required.
    RHEL 5.8No additional kernel parameters required. See the note below about the optional use of divider=10.
    RHEL 5.7No additional kernel parameters required. See the note below about the optional use of divider=10.
    RHEL 5.6No additional kernel parameters required. See the note below about the optional use of divider=10.
    RHEL 5.5No additional kernel parameters required. See the note below about the optional use of divider=10.
    RHEL 5.4No additional kernel parameters required. See the note below about the optional use of divider=10.
    RHEL 5.3notsc divider=10
    nohpet
    RHEL 5.2notsc divider=10
    nohpet
    RHEL 5.1 with RHSA-2007:0993-13notsc divider=10
    nohpet
    RHEL 5.1 without RHSA-2007:0993-13notsc
    nohpet
    RHEL 5.0No additional kernel parameters required.
    RHEL 4.9notsc divider=10
    nohpet
    RHEL 4.8notsc divider=10
    nohpet
    RHEL 4.7notsc divider=10
    nohpet
    RHEL 4.6notsc
    nohpet
    RHEL 4.5notsc
    nohpet
    RHEL 4.4notsc
    nohpet
    RHEL 4.3notsc
    nohpet
    RHEL 4.2notsc
    nohpet
    RHEL 4.1nohpetDoes not support notsc. Avoid using if possible.
    RHEL 4.0nohpetDoes not support notsc. Avoid using if possible.
    RHEL 3 Update 9 with RHSA-2008-0973disable_lost_ticks
    RHEL 3 through Update 8Has no workaround for lost tick overcompensation. Avoid using if possible.
    SLESSLES 11 (All updates)No additional kernel parameters required.
    SLES 10 SP4 on ESX 4.0 and laterNo additional kernel parameters required.
    SLES 10 SP3 on ESX 3.5 and laterNo additional kernel parameters required.
    SLES 10 SP3 on ESX 3.0.x and earliernotsc
    nohpet
    SLES 10 SP2 on ESX 3.5 and laterNo additional kernel parameters required.
    SLES 10 SP2 on ESX 3.0.x and earliernotsc
    nohpet
    SLES 10 SP1notsc
    nohpet
    SLES 10notsc
    nohpet
    SLES 9 with kernel version 2.6.5-7.312 or laterignore_lost_ticks
    nohpet
    SLES 9 with kernel version 2.6.5-7.311 or earliernohpetHas no workaround for lost tick overcompensation. Avoid using if possible.
    SLEDSLED 11No additional kernel parameters required.
    SLED 10clock=pmtmr
    nohpet
    Suse LinuxSuse Linux 10.3clocksource=acpi_pm
    Suse Linux 10.2notsc
    nohpet
    Suse Linux 10.1notsc
    nohpet
    Suse Linux 10notsc
    nohpet
    Suse Linux 9.3notsc
    nohpet
    Suse Linux 9.2nohpetDoes not support notsc. Avoid using if possible.
    Suse Linux 9.1nohpetDoes not support notsc. Avoid using if possible.
    UbuntuUbuntu 12.04No additional kernel parameters required.
    Ubuntu 11.10No additional kernel parameters required.
    Ubuntu 11.04No additional kernel parameters required.
    Ubuntu 10.10No additional kernel parameters required.
    Ubuntu 10.04No additional kernel parameters required.
    Ubuntu 9.10No additional kernel parameters required.
    Ubuntu 9.04 with kernel 2.6.28-7.18 or later on ESX 4.0 or laterNo additional kernel parameters required.
    Ubuntu 9.04 with kernel prior to 2.6.28-7.18 on ESX 4.0 or laterAvoid using if possible. May cause guest operating system to stop responding.
    Ubuntu 8.10 with kernel 2.6.27-12.28 or later on ESX 4.0 or laterNo additional kernel parameters required.
    Ubuntu 8.10 with kernel prior to 2.6.27-12.28 on ESX 4.0 or laterAvoid using if possible. May cause guest operating system to stop responding.
    Ubuntu 8.10clocksource=acpi_pm
    Ubuntu 8.04 with kernel 2.6.24-24.52 or later on ESX 4.0 or laterNo additional kernel parameters required.
    Ubuntu 8.04 with kernel prior to 2.6.24-24.52 on ESX 4.0 or laterAvoid using if possible. May cause guest operating system to stop responding.
    Ubuntu 8.04clocksource=acpi_pm
    Ubuntu 7.10clocksource=acpi_pm
    Ubuntu 7.04No additional kernel parameters required.
    Ubuntu 6.10notsc
    nohpet
    Ubuntu 6.06notsc
    nohpet
    Ubuntu 5.10notsc
    nohpet
    Ubuntu 5.04nohpetDoes not support notsc. Avoid using if possible.
    MandrivaMandriva Corporate Desktop 4.0notsc
    nohpet
    Mandriva Corporate Server 4notsc
    nohpet
    Mandriva Linux 2008clocksource=acpi_pm
    Mandriva Linux 2007notsc
    nohpet
    Mandriva Linux 2006notsc
    nohpet
    Mandrake Linux 10.1nohpetDoes not support notsc. Avoid using if possible.
    TurbolinuxTurbolinux 10 DesktopnohpetDoes not support notsc. Avoid using if possible.
    Turbolinux 10 ServernohpetDoes not support notsc. Avoid using if possible.
    AsianuxAsianux Server 4 (all updates)No additional kernel parameters required.
    Asianux 3.0 SP4No additional kernel parameters required.
    Asianux 3.0 SP3No additional kernel parameters required.
    Asianux 3.0 SP2No additional kernel parameters required.
    Asianux 3.0 SP1No additional kernel parameters required. Use kernel 2.6.18-53.17AXS3 or later.
    Asianux 3.0notsc
    nohpet
    CentOSCentOS 6.xNo additional kernel parameters required.
    CentOS 5.8No additional kernel parameters required. See the note below about the optional use of divider=10.
    CentOS 5.7No additional kernel parameters required. See the note below about the optional use of divider=10.
    CentOS 5.6No additional kernel parameters required. See the note below about the optional use of divider=10.
    CentOS 5.5No additional kernel parameters required. See the note below about the optional use of divider=10.
    CentOS 5.4No additional kernel parameters required. See the note below about the optional use of divider=10.
    CentOS 5.3notsc divider=10
    nohpet
    CentOS 5.2notsc divider=10
    nohpet
    CentOS 5.1notsc
    nohpet
    CentOS 5.0No additional kernel parameters required.
    CentOS 4.9notsc divider=10
    nohpet
    CentOS 4.8notsc divider=10
    nohpet
    CentOS 4.7notsc divider=10
    nohpet
    CentOS 4.6notsc
    nohpet
    CentOS 4.5notsc
    nohpet
    CentOS 4.4notsc
    nohpet
    CentOS 4.3notsc
    nohpet
    CentOS 4.2notsc
    nohpet
    CentOS 4.1nohpetDoes not support notsc. Avoid using if possible.
    CentOS 4.0nohpetDoes not support notsc. Avoid using if possible.
    OracleOracle Linux 6.xNo additional kernel parameters required.
    Oracle Linux 5.8No additional kernel parameters required. See the note below about the optional use of divider=10.
    Oracle Linux 5.7No additional kernel parameters required. See the note below about the optional use of divider=10.
    Oracle Linux 5.6No additional kernel parameters required. See the note below about the optional use of divider=10.
    OEL 5.5No additional kernel parameters required. See the note below about the optional use of divider=10.
    OEL 5.4No additional kernel parameters required. See the note below about the optional use of divider=10.
    OEL 5.3notsc divider=10
    nohpet
    OEL 5.2notsc divider=10
    nohpet
    OEL 5.1notsc
    nohpet
    OEL 5.0No additional kernel parameters required.
    OEL 4.9notsc divider=10
    nohpet
    OEL 4.8notsc divider=10
    nohpet
    OEL 4.7notsc divider=10
    nohpet
    OEL 4.6notsc
    nohpet
    OEL 4.5notsc
    nohpet
    DebianDebian 6.0No additional kernel parameters required.
    Debian 5.0No additional kernel parameters required.
    Debian 4.xnotsc
    nohpet
    Arch LinuxAll Versionstimedatectl set-local-rtc trueVerify Time Source:

    timedatectl status | grep local

    No additional kernel parameters required.

    Recommended Configurations

    These configurations are expected to have the best timekeeping behavior:
    • RHEL 6 32-bit or 64-bit running on ESX 4.0 or later
    • RHEL 5.4 or later 32-bit or 64-bit running on ESX 3.5 or later
    • SLES 10 SP2 or later 64-bit running on ESX 3.5 or later
    • SLES 10 SP2 or later 32-bit running on ESX 3.5 or ESX 4.x
    • SLES 11 32-bit or 64-bit running on ESX 4.0 or later
    • Ubuntu 8.04 32-bit running on ESX 3.5 or later
    • Ubuntu 8.04 or later 64-bit running on ESX 4.0 or later
    • Ubuntu 8.04 or later 32-bit running on ESX 3.5 or ESX 4.x
    Among different versions of RHEL 5 and RHEL 4, RHEL 5.4 or later has the best timekeeping behavior. For older versions, those supporting divider=10 have better timekeeping behavior than those that do not.

    VMI is supported in ESX 3.5 and ESX 4.x. Support for VMI is not present in ESX 5.0. For more information related to VMI enabled kernels, see:
    If you are running Java inside a virtual machine, some of the parameters above may affect the performance of your virtual machine. For more information, see:

    Editing Kernel Configuration

    Kernel command line parameters are specified in the /etc/lilo.conf or /boot/grub/grub.conf file, depending on your choice of boot loader.
    • For LILO, put the kernel command line parameters at the end of the append line.

      For example, if the append is similar to:

      append="resume=/dev/hda6 splash=silent"

      and you want to add clock=pmtmr divider=10, the updated text is:

      append="resume=/dev/hda6 splash=silent clock=pmtmr divider=10"

      Run the /sbin/lilo command after editing the lilo.conf file to make the changes take effect.

    • For GRUB, put the kernel command line parameters at the end of the kernel line.

      For example, if the kernel line is similar to:

      kernel /vmlinuz-2.6.18 ro root=/dev/hda2

      and you want to add clock=pmtmr divider=10, the updated text is:

      kernel /vmlinuz-2.6.18 ro root=/dev/hda2 clock=pmtmr divider=10
    For more information about working with boot loaders, see your Linux distribution's documentation.

    NTP Recommendations

    VMware recommends using NTP instead of VMware Tools periodic time synchronization. NTP is an industry standard and ensures accurate timekeeping in your guest. It may be necessary to open the firewall (UDP 123) to allow NTP traffic.

    Important: The DoS amplification attack described in CVE-2013-5211 affects versions of NTP before 4.2.7p26. For information on how CVE-2013-5211 affects VMware products, see Mitigation and Remediation for NTP DDoS attack in ESX/ESXi and vCenter Server Appliance (CVE-2013-5211) (2070193).
    • You can check the version currently running on your system by running one of these commands:

      ntpd --version

      Or

      ntpq -c rv

    • If you are running a version older than 4.2.7p26, VMware recommends adding these lines to your ntp.conf file to mitigate this attack:

      restrict default kod nomodify notrap nopeer noquery
      restrict -6 default kod nomodify notrap nopeer noquery
      restrict 127.0.0.1
      restrict -6 ::1

    Note: Some Linux distributions back-port security fixes such as the one described in CVE-2013-5211 without updating version information.


    This is a sample /etc/ntp.conf file:

    Note: For Arch Linux, the file is /etc/adjtime.
    tinker panic 0
    restrict 127.0.0.1
    restrict default kod nomodify notrap
    server 0.vmware.pool.ntp.org
    server 1.vmware.pool.ntp.org
    server 2.vmware.pool.ntp.org
    driftfile /var/lib/ntp/drift
    This is a sample (RedHat specific) /etc/ntp/step-tickers file:
    0.vmware.pool.ntp.org
    1.vmware.pool.ntp.org
    The configuration directive tinker panic 0 instructs NTP to not give up if it sees a large jump in time. This is important for coping with large time drifts and also resuming virtual machines from their suspended state.

    Note: The tinker panic 0 directive must be at the top of the ntp.conf file.

    It is also important to not use the local clock as a time source, often referred to as the Undisciplined Local Clock. NTP has a tendency to fall back to this in preference to the remote servers when there is a large amount of time drift.

    An example of such a configuration is:
    server 127.127.1.0
    fudge 127.127.1.0 stratum 10
    Comment out both lines to stop this behavior.

    After making changes to the NTP configuration, the NTP daemon must be restarted. For more information, refer to your operating system vendor's documentation.

    VMware Tools time synchronization configuration

    When using NTP in the guest, disable VMware Tools periodic time synchronization.

    To disable VMware Tools periodic time synchronization, perform one of these options:
    • Set tools.syncTime = "FALSE" in the configuration file (.vmx file) of the virtual machine.

      Or

    • Deselect Time synchronization between the virtual machine and the host operating system in the VMware Tools toolbox GUI of the guest operating system.

      Or

    • Run the vmware-guestd --cmd "vmx.set_option synctime 1 0" command in the guest operating system. To enable time syncing again, use the same command with " 0 1 " instead of " 1 0 ".
    For ESX 4.1 and later, use these parameters for Linux, Solaris, and FreeBSD:
    1. To display the current status of the service:

      vmware-toolbox-cmd timesync status

    2. To disable periodic time synchronization:

      vmware-toolbox-cmd timesync disable
    These options do not disable one-time synchronizations done by VMware Tools for events such as tools startup, taking a snapshot, resuming from a snapshot, resuming from suspend, or vMotion. These events synchronize time in the guest operating system with time in the host operating system, therefore it is important to make sure that the host operating system's time is correct.

    To do this for VMware ACE, VMware Fusion, VMware GSX Server, VMware Player, VMware Server, and VMware Workstation, run time synchronization software such as NTP or w32time in the host. For ESX, run NTP in the service console. For ESXi, run NTP in the VMkernel.

    Note: Do not disable VMware Tools one-time synchronization events.

    Virtual hardware clock configuration

    When configuring the Linux guest operating system, if you are given a choice between keeping the "hardware" clock (that is, the virtual CMOS time of day clock) in UTC or local time, choose UTC. This avoids any confusion when your local time changes between standard and daylight saving time (in England, "summer time").

    For more information, see Timekeeping in VMware Virtual Machines.

    Notes on "divider=10" usage

    For some operating systems, divider=10 is a supported kernel configuration option, but might not be necessary for accurate timekeeping. Using it reduces the frequency of timer interrupts by 10x, which reduces the CPU overhead of processing timer interrupts. This overhead is especially noticeable for idle virtual machines. The only drawback of using divider=10 is that the granularity of wake-ups provided by the kernel changes from 1 ms to 10 ms. The vast majority of applications are not affected by this, but using divider=10 may not be the right trade-off for some time-sensitive applications.

    For some operating systems, specifically older versions, divider=10 greatly improves timekeeping accuracy and is strongly recommended.

    Additional Information

    See Also

    Update History

    05/10/2011 - Updated for RHEL 5.6. 04/06/2011 - Added information for RHEL, OEL, and CentOS 4.9. 03/10/2011 - Ubuntu 10.04 added. 01/31/2011 - Added information for RHEL 5.4, 5.5, and 6.0, CentOS 5.4 and 5.5, and OEL 5.4 and 5.5. 06/21/2011 - Added information on why to use NTP and not VMware Tools and information to re-enable tools time sync with the command line 09/19/2011 - Added additional Kernel parameters 08/13/2012 - Corrected links and table formatting. 09/13/2012 - Added more distribution versions.

    Request a Product Feature

    To request a new product feature or to provide feedback on a VMware product, please visit the Request a Product Feature page.

    Feedback

    • 290 Ratings

    Did this article help you?
    This article resolved my issue.
    This article did not resolve my issue.
    This article helped but additional information was required to resolve my issue.
    What can we do to improve this information? (4000 or fewer characters)
    • 290 Ratings
    Actions
    KB: