Knowledge Base

Search the Knowledge Base: |
Search the Knowledge Base: |
Timekeeping best practices for Linux guests
Purpose
Resolution
Linux Timekeeping Best Practice
32bit Kernels
| Linux Flavor | Version | Kernel Parameters | Notes |
| RHEL | |||
| RHEL 5.4 |
No additional kernel parameters required.
See the note below about the optional use of divider=10. | ||
| RHEL 5.3 | divider=10 clocksource=acpi_pm | ||
| RHEL 5.2 | divider=10 clocksource=acpi_pm | ||
| RHEL 5.1 | divider=10 clocksource=acpi_pm | ||
| RHEL 5.0 | clocksource=acpi_pm | ||
| RHEL 4.8 | clock=pmtmr divider=10 | ||
| RHEL 4.7 | clock=pmtmr divider=10 | ||
| RHEL 4.6 | clock=pmtmr | ||
| RHEL 4.5 | clock=pmtmr | ||
| RHEL 4.4 | clock=pmtmr | ||
| RHEL 4.3 | clock=pmtmr | ||
| RHEL 4.2 | clock=pmtmr | ||
| RHEL 4.1 | clock=pmtmr | ||
| RHEL 4.0 | clock=pmtmr | ||
| RHEL 3 (All updates) | No additional kernel parameters required. | ||
| RHEL 2.1 | No additional kernel parameters required. | ||
| Redhat | |||
| Redhat 9.0 | No additional kernel parameters required. | ||
| Redhat 8.0 | No additional kernel parameters required. | ||
| Redhat 7.3 | No additional kernel parameters required. | ||
| Redhat 7.2 | No additional kernel parameters required. | ||
| Redhat 7.1 | No additional kernel parameters required. | ||
| Redhat 7.0 | No additional kernel parameters required. | ||
| Redhat 6.2 | No additional kernel parameters required. | ||
| SLES | |||
| SLES 11 | No additional kernel parameters required. | ||
| SLES 10 SP2 on ESX 3.0.x and earlier | clock=pmtmr | ||
| SLES 10 SP2 on ESX 3.5 and later | Use a VMI enabled kernel. | ||
| SLES 10 SP1 | clock=pmtmr | ||
| SLES 10 | clock=pmtmr or clock=hpet* | * AMD Rev F Opteron processors | |
| SLES 9 (All updates) | clock=pmtmr | ||
| SLES 8 | No additional kernel parameters required. | ||
| SLES 7 | No additional kernel parameters required. | ||
| SLED | |||
| SLED 11 | No additional kernel parameters required. | ||
| SLED 10 | clock=pmtmr | ||
| SLED 9 | clock=pmtmr | ||
| Suse Linux | |||
| Suse Linux 10.3 | clocksource=acpi_pm | ||
| Suse Linux 10.2 | clocksource=acpi_pm | ||
| Suse Linux 10.1 | clock=pmtmr | ||
| Suse Linux 10 | clock=pmtmr | ||
| Suse Linux 9.3 | clock=pmtmr | ||
| Suse Linux 9.2 | clock=pmtmr | ||
| Suse Linux 9.1 | clock=pmtmr | ||
| Suse Linux 9.0 | Remove desktop kernel command line parameter. | ||
| Suse Linux 8.2 | No additional kernel parameters required. | ||
| Suse Linux 8.1 | No additional kernel parameters required. | ||
| Suse Linux 8.0 | No additional kernel parameters required. | ||
| Suse Linux 7.3 | No additional kernel parameters required. | ||
| Ubuntu | |||
| Ubuntu 9.04 with kernel 2.6.28-7.18 or later on ESX 4.0 or later | No additional kernel parameters required. | ||
| Ubuntu 9.04 with kernel prior to 2.6.28-7.18 on ESX 4.0 or later | Avoid 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 later | No additional kernel parameters required. | ||
| Ubuntu 8.10 with kernel prior to 2.6.27-12.28 on ESX 4.0 or later | Avoid using if possible. May cause guest operating system to stop responding. | ||
| Ubuntu 8.10 | clocksource=acpi_pm | ||
| Ubuntu 8.04 on ESX 3.5 and later | Use a VMI enabled kernel. | ||
| Ubuntu 8.04 on ESX 3.0.x and earlier | clocksource=acpi_pm | ||
| Ubuntu 7.10 | clocksource=acpi_pm | ||
| Ubuntu 7.04 | clocksource=acpi_pm | ||
| Ubuntu 6.10 | clock=pmtmr | ||
| Ubuntu 6.06 | clock=pmtmr | ||
| Ubuntu 5.10 | clock=pmtmr | ||
| Ubuntu 5.04 | clock=pmtmr | ||
| Mandriva | |||
| Mandriva Corporate Desktop 4.0 | clock=pmtmr | ||
| Mandriva Corporate Server 4 | clock=pmtmr | ||
| Mandriva Linux 2008 | clocksource=acpi_pm | ||
| Mandriva Linux 2007 | clock=pmtmr | ||
| Mandriva Linux 2006 | clock=pmtmr | ||
| Mandrake 10.1 |
Does not support pmtmr . Avoid using if possible. | ||
| Mandrake 10 |
Does not support pmtmr . Avoid using if possible. | ||
| Mandrake 9.2 | No additional kernel parameters required. | ||
| Mandrake 9.1 | No additional kernel parameters required. | ||
| Mandrake 9.0 | No additional kernel parameters required. | ||
| Mandrake 8.2 | No additional kernel parameters required. | ||
| Mandrake 8.1 | No additional kernel parameters required. | ||
| Mandrake 8.0 | No additional kernel parameters required. | ||
| Turbolinux | |||
| Turbolinux 10 Desktop |
Does not support pmtmr. Avoid using if possible. | ||
| Turbolinux 10 Server | clock=pmtmr | ||
| Turbolinux Enterprise 8 | No additional kernel parameters required. | ||
| Turbolinux Workstation 8 | No additional kernel parameters required. | ||
| Turbolinux 7.0 | No additional kernel parameters required. | ||
| Asianux | |||
| Asianux 3.0 SP1 |
No additional kernel parameters required.
Use kernel 2.6.18-53.17AXS3 or later. | ||
| Asianux 3.0 | divider=10 clocksource=acpi_pm | ||
| CentOS | |||
| CentOS 5.3 | divider=10 clocksource=acpi_pm | ||
| CentOS 5.2 | divider=10 clocksource=acpi_pm | ||
| CentOS 5.1 | divider=10 clocksource=acpi_pm | ||
| CentOS 5.0 | clocksource=acpi_pm | ||
| CentOS 4.8 | clock=pmtmr divider=10 | ||
| CentOS 4.7 | clock=pmtmr divider=10 | ||
| CentOS 4.6 | clock=pmtmr | ||
| CentOS 4.5 | clock=pmtmr | ||
| CentOS 4.4 | clock=pmtmr | ||
| CentOS 4.3 | clock=pmtmr | ||
| CentOS 4.2 | clock=pmtmr | ||
| CentOS 4.1 | clock=pmtmr | ||
| CentOS 4.0 | clock=pmtmr | ||
| Oracle | |||
|
|
OEL 5.2 | divider=10 clocksource=acpi_pm | |
| OEL 5.1 | divider=10 clocksource=acpi_pm | ||
| OEL 5.0 | clocksource=acpi_pm | ||
| Debian | |||
| Debian 4.x | divider=10 clocksource=acpi_pm |
64bit Kernels
|
Linux Flavor |
Version |
Kernel Parameters |
Notes |
|
RHEL |
|
|
|
| RHEL 5.4 |
No additional kernel parameters required.
See the note below about the optional use of divider=10. | ||
| RHEL 5.3 | notsc divider=10 | ||
|
|
RHEL 5.2 |
notsc divider=10 |
|
|
|
RHEL 5.1 with RHSA-2007:0993-13 |
notsc divider=10 |
|
|
|
RHEL 5.1 without RHSA-2007:0993-13 |
notsc |
|
|
|
RHEL 5.0 |
|
No additional kernel parameters required. |
| RHEL 4.8 | notsc divider=10 | ||
|
|
RHEL 4.7 |
notsc divider=10 |
|
|
|
RHEL 4.6 |
notsc |
|
|
|
RHEL 4.5 |
notsc |
|
|
|
RHEL 4.4 |
notsc |
|
|
|
RHEL 4.3 |
notsc |
|
|
|
RHEL 4.2 |
notsc |
|
|
|
RHEL 4.1 |
|
Does not support notsc . Avoid using if possible. |
|
|
RHEL 4.0 |
|
Does not support notsc . Avoid using if possible. |
|
|
RHEL 3 Update 9 with RHSA-2008-0973 |
disable_lost_ticks |
|
| RHEL 3 through Update 8 | Has no workaround for lost tick overcompensation. Avoid using if possible. | ||
|
SLES |
|
|
|
| SLES 11 |
No additional kernel parameters required. | ||
|
|
SLES 10 SP2 on ESX 3.5 and later |
|
No additional kernel parameters required. |
|
SLES 10 SP2 ESX 3.0.x and earlier |
notsc |
||
|
|
SLES 10 SP1 |
notsc |
|
|
|
SLES 10 |
notsc |
|
|
|
SLES 9 with kernel version 2.6.5-7.312 or later |
ignore_lost_ticks |
|
|
|
SLES 9 with kernel version 2.6.5-7.311 or earlier |
|
Has no workaround for lost tick overcompensation. Avoid using if possible. |
| SLED | |||
| SLED 11 |
No additional kernel parameters required. | ||
| SLED 10 | clock=pmtmr | ||
| Suse Linux | |||
| Suse Linux 10.3 | clocksource=acpi_pm | ||
| Suse Linux 10.2 |
notsc |
||
| Suse Linux 10.1 |
notsc |
||
| Suse Linux 10 |
notsc |
||
| Suse Linux 9.3 |
notsc |
||
| Suse Linux 9.2 |
Does not support notsc. Avoid using if possible. | ||
| Suse Linux 9.1 |
Does not support notsc. Avoid using if possible. | ||
| Ubuntu | |||
| Ubuntu 9.04 with kernel 2.6.28-7.18 or later on ESX 4.0 or later | No additional kernel parameters required. | ||
| Ubuntu 9.04 with kernel prior to 2.6.28-7.18 on ESX 4.0 or later | Avoid 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 later | No additional kernel parameters required. | ||
| Ubuntu 8.10 with kernel prior to 2.6.27-12.28 on ESX 4.0 or later | Avoid using if possible. May cause guest operating system to stop responding. | ||
| Ubuntu 8.10 | clocksource=acpi_pm | ||
| Ubuntu 8.04 with kernel 2.6.24-24.52 or later on ESX 4.0 or later | No additional kernel parameters required. | ||
| Ubuntu 8.04 with kernel prior to 2.6.24-24.52 on ESX 4.0 or later | Avoid using if possible. May cause guest operating system to stop responding. | ||
| Ubuntu 8.04 | clocksource=acpi_pm | ||
| Ubuntu 7.10 | clocksource=acpi_pm | ||
| Ubuntu 7.04 |
|
No additional kernel parameters required. | |
| Ubuntu 6.10 |
notsc |
||
| Ubuntu 6.06 |
notsc |
||
| Ubuntu 5.10 |
notsc |
||
| Ubuntu 5.04 |
Does not support notsc. Avoid using if possible. | ||
| Mandriva | |||
| Mandriva Corporate Desktop 4.0 |
notsc |
||
|
|
Mandriva Corporate Server 4 |
notsc |
|
| Mandriva Linux 2008 | clocksource=acpi_pm | ||
| Mandriva Linux 2007 |
notsc |
||
| Mandriva Linux 2006 |
notsc |
||
| Mandrake Linux 10.1 |
Does not support notsc. Avoid using if possible. | ||
| Turbolinux | |||
| Turbolinux 10 Desktop |
Does not support notsc. Avoid using if possible. | ||
| Turbolinux 10 Server |
Does not support notsc. Avoid using if possible. | ||
| Asianux | |||
| Asianux 3.0 SP1 |
|
No additional kernel parameters required.
Use kernel 2.6.18-53.17AXS3 or later. | |
| Asianux 3.0 |
notsc |
||
| CentOS | |||
| CentOS 5.3 | notsc divider=10 | ||
| CentOS 5.2 |
notsc divider=10 |
||
| CentOS 5.1 |
notsc |
||
| CentOS 5.0 |
|
No additional kernel parameters required. | |
| CentOS 4.8 | notsc divider=10 | ||
| CentOS 4.7 | notsc divider=10 | ||
| CentOS 4.6 | notsc | ||
| CentOS 4.5 | notsc | ||
| CentOS 4.4 | notsc | ||
| CentOS 4.3 | notsc | ||
| CentOS 4.2 | notsc | ||
| CentOS 4.1 |
Does not support notsc. Avoid using if possible. | ||
| CentOS 4.0 |
Does not support notsc. Avoid using if possible. | ||
| Oracle | |||
|
|
OEL 5.2 |
notsc divider=10 |
|
| OEL 5.1 |
notsc |
||
| OEL 5.0 |
|
No additional kernel parameters required. | |
| Debian | |||
| Debian 4.x | notsc |
Recommended Configurations
The following configurations are expected to have the best timekeeping behavior:
- RHEL 5.4 32bit or 64bit running on ESX 3.5 or later
- SLES 10 SP2 32bit or 64bit running on ESX 3.5 or later
- SLES 11 32bit or 64bit running on ESX 4.0 or later
- Ubuntu 8.04 32bit running on ESX 3.5 or later
- Ubuntu 8.04, 8.10, or 9.04, 32bit or 64bit running on ESX 4.0 or later
Among different version 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.
- How to enable a virtual machine interface in a Linux kernel and in ESX 3.5 (1003644)
- Enabling VMI with SLES 10 SP2 32bit virtual machines on an ESX host (1005701)
Editing Kernel Configuration
For LILO, put the kernel command line parameters at the end of the "append" line. For example, if the append line looks like:
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"
Remember to run /sbin/lilo after editing lilo.conf , so that your edits take effect.
For GRUB, put the kernel command line parameters at the end of the "kernel" line. For example if the kernel line looks like:
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 additional information about working with boot loaders, see your Linux distribution's documentation.
NTP Recommendations
VMware Tools time synchronization configuration
-
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.
Virtual Hardware clock configuration
Note on RHEL 5.4 and divider=10
Feedback
- KB Article: 1006427
- Updated: Nov 4, 2009
- Products:
VMware ACE
VMware ESX
VMware ESXi
VMware Fusion
VMware GSX Server
VMware Player
VMware Server
VMware Workstation

