Virtual Machine Clock Reports Time Unpredictably on Multiprocessor Systems
search cancel

Virtual Machine Clock Reports Time Unpredictably on Multiprocessor Systems

book

Article ID: 315315

calendar_today

Updated On:

Products

VMware VMware Desktop Hypervisor

Issue/Introduction

The clocks in my virtual machines run in an unpredictable manner. Sometimes they run too quickly, other times they run too slowly, and sometimes they just stop. What is happening?

Resolution

If you are running VMware desktop virtualization products on a multiprocessor system in which the timestamp counters (TSCs) do not remain synchronized between all processors, the operating system clock in each virtual machine can perform unpredictably. In this context, "multiprocessor" includes systems with multiple cores but only one processor socket.
 
This problem can occur on some 64-bit AMD systems and on some Intel systems. See the relevant information described in the following sections:

64-bit AMD Systems

This problem can occur on some 64-bit AMD multiprocessor (including multicore) systems. If you run VMware products on one of these systems and the clocks in your virtual machines are performing unpredictably, VMware recommends you apply the workaround described below.

Timestamp counters (TSCs) on 64-bit AMD systems should ideally remain synchronized because these systems run all CPUs from a common clock oscillator. However, some 64-bit AMD systems have power management features that can cause the TSCs on some processor cores to lose time in relation to other cores.
 
You might be able to disable these features:
  • In your system's BIOS setup windows, look for settings labeled PowerNow or Cool'N'Quiet, and disable them.
     
  • If you are running a Linux host operating system, look for a system daemon or applet called cpufreqd, cpuspeed, powernowd, cpudyn, speedy, or cpufreq, and disable it. For example, on some systems the command service cpuspeed stop might work. The instructions to disable the daemon or applet found on your system vary. Refer to your system's documentation for more information.
If you require these features or you cannot find a way to disable them, you need to assign each of your virtual machines to a subset of processor cores on which the TSCs do remain synchronized. In some cases you may need to do this even after turning off power management in your system's BIOS; this occurs if your system only partially disables the power management features involved.

Note: If you are running Windows XP Service Pack 2 as the host operating system on a multiprocessor 64-bit AMD host that supports processor power management features, you also need to apply the hotfix described in Microsoft knowledge base article 896256 at http://support.microsoft.com/?id=896256. According to this Microsoft knowledge base article, the hotfix is needed for the following operating systems:

  • Microsoft Windows Server 2003, Standard and Enterprise x64 Editions
  • Microsoft Windows XP Service Pack 2, when used with Microsoft Windows XP Home and Professional Editions
  • Microsoft Windows XP Tablet PC Edition 2005
No hotfix is needed for Microsoft XP Media Center.
 
Note: VMware knowledge base articles 2039, 2040, and 2041 replace knowledge base article 1236.
 
 
This problem can occur on some Intel multiprocessor (including multicore) systems. After a Windows host performs a "stand by" or "hibernation", the TSCs may be unsynchronized between cores.
 
The hotfix described in Microsoft knowledge base article 896256 addresses this issue. See http://support.microsoft.com/kb/896256.
 
If you cannot apply the hotfix for some reason, as a workaround, do not use Windows "stand by" and "hibernation" modes.

Additional Information

For translated versions of this article, see: