Search

Language:  
Search for:

Available article translations:

Linux virtual machines timekeeping best practices

APPLIES TO:
  • Parallels Cloud Server
  • Parallels Server

Information

Linux-based guest operating systems may experience time drift while running in virtual machines, especially in case of virtual CPU limits overcommitment.
This article provides kernel parameters for supported Linux distributions which helps to preserve regular time flow inside a virtual machine.

The specified parameters should be added to the end of kernel line in boot loader configuration, e.g. for GRUB:
~# cat /boot/grub/menu.lst
default=0
timeout=30

title CentOS (2.6.18-194.el5.x86_64)
   root (hd1,0)
   kernel /boot/vmlinuz-2.6.18-194.el5.x86_64 ro root=UUID=6b3f39b4-8749-4b3b-a873-d8c5a96e2f45 divider=10 nohpet notsc
   initrd /boot/initrd-2.6.18-194.el5.x86_64.img



Red Hat Enterprise Linux

Guest OS 32-bit kernel 64-bit kernel
RHEL 6.x No parameters required No parameters required
RHEL 5.8
RHEL 5.7
RHEL 5.6
RHEL 5.5
RHEL 5.4
Optionaldivider=10 Optionaldivider=10
RHEL 5.3
RHEL 5.2
RHEL 5.1
clocksource=acpi_pm divider=10 notsc nohpet divider=10
RHEL 5.0 clocksource=acpi_pm No parameters required
RHEL 4.9
RHEL 4.8
RHEL 4.7
clock=pmtmr divider=10 hpet=disable notsc nohpet divider=10
RHEL 4.6
RHEL 4.5
RHEL 4.4
RHEL 4.3
RHEL 4.2
clock=pmtmr hpet=disable notsc nohpet
RHEL 4.1
RHEL 4.0
clock=pmtmr hpet=disable nohpet

CentOS

Guest OS 32-bit kernel 64-bit kernel
CentOS 6.x No parameters required No parameters required
CentOS 5.8
CentOS 5.7
CentOS 5.6
CentOS 5.5
CentOS 5.4
Optionaldivider=10 Optionaldivider=10
CentOS 5.3
CentOS 5.2
CentOS 5.1
clocksource=acpi_pm divider=10 notsc nohpet divider=10
CentOS 5.0 clocksource=acpi_pm No parameters required
CentOS 4.9
CentOS 4.8
CentOS 4.7
clock=pmtmr divider=10 hpet=disable notsc nohpet divider=10
CentOS 4.6
CentOS 4.5
CentOS 4.4
CentOS 4.3
CentOS 4.2
clock=pmtmr hpet=disable notsc nohpet
CentOS 4.1
CentOS 4.0
clock=pmtmr hpet=disable nohpet

SUSE Linux Enterprise Server

Guest OS 32-bit kernel 64-bit kernel
SLES 11 SP1
SLES 11
No parameters required No parameters required
SLES 10 SP4 clock=pmtmr hpet=disable No parameters required
SLES 10 SP3
SLES 10 SP2
SLES 10 SP1
SLES 10
clock=pmtmr hpet=disable notsc nohpet

OpenSUSE

Guest OS 32-bit kernel 64-bit kernel
OpenSUSE 11.3
OpenSUSE 11.2
No parameters required No parameters required

Debian

Guest OS 32-bit kernel 64-bit kernel
Debian 6.0
Debian 5.0
No parameters required No parameters required

Ubuntu

Guest OS 32-bit kernel 64-bit kernel
Ubuntu 11.04
Ubuntu 10.10
Ubuntu 10.04
No parameters required No parameters required
Ubuntu 8.04 clocksource=acpi_pm clocksource=acpi_pm

Oracle Enterprise Linux

Guest OS 32-bit kernel 64-bit kernel
OEL 6.x No parameters required No parameters required
OEL 5.8
OEL 5.7
OEL 5.6
OEL 5.5
OEL 5.4
Optionaldivider=10 Optionaldivider=10


Use of divider parameter


The parameter allows to set system clock rate different from 1000 Hz, e.g. divider=10 sets the system clock rate to 100 Hz.
If the kernel supports the parameter then adding divider=10 to guest OS kernel will decrease CPU usage by the virtual machine.

Search words:

CMOS clock




ca05eaf5b843fbd53589c90d7228a6df 2897d76d56d2010f4e3a28f864d69223 bf1c3a170005eae151f49ba2720abde9

FEEDBACK
Was this article helpful?
Tell us how we may improve it.
Yes No