Knowledge Base

Search the Knowledge Base:

Products:
Search In:
 

Host Power Management Causes Problems with Guest Timekeeping on Linux Hosts

Details

I have a Linux host with power management features that vary the processor speed. When the host processor speed changes, the guest clock runs too quickly or too slowly. Can I correct this?

Solution

This article applies to VMware Workstation 4.0 and higher, VMware GSX Server 2.5.1 and higher, and VMware Server 1.x running on Linux hosts.

For these products on Windows hosts, see http://kb.vmware.com/kb/1227 . For earlier versions of these products, see http://kb.vmware.com/kb/ 708 and http://kb.vmware.com/kb/ 916 .

This problem occurs because current VMware for Linux products do not have complete support for host power management features (such as Intel SpeedStep, or AMD PowerNow or Cool'n'Quiet) that vary the processor speed. This article gives one workaround that prevents guest clocks from running quickly and another that periodically corrects the time when guest clocks run slowly. Alternatively, for more accurate time, you can lock the host processor to a constant speed; see knowledge base articles 708 and 916 at the links above.

To prevent guest clocks from running too quickly, specify the correct maximum host CPU speed in your global configuration file, /etc/vmware/config . If this file exists, edit it with a text editor, adding the lines described below. The file may not exist. If it does not exist, create it as a plain text file.

The example presented here assumes that the host computer has a maximum speed of 1700MHz. The first line is the most important one. It should be your host computer's maximum speed in kHz -- that is, its speed in MHz times 1000, or its speed in GHz times 1000000. To find your actual host's maximum CPU speed, run cat /proc/cpuinfo and look for the line cpu MHz, which is your host's maximum CPU speed. Add the following lines to your global configuration file:

host.cpukHz = 1700000
host.noTSC = TRUE
ptsc.noTSC = TRUE
To periodically correct the time (once per minute) when a guest clock runs slowly, VMware Tools must be installed in the guest. On the Options tab of VMware Tools in the guest, verify that Time synchronization between the virtual machine and the host operating system is selected.
 
Note: If the problem is still not corrected, this may be addressed by disabling power management altogether. This can be done by adding apm=off to the boot entry of the host's /etc/grub.conf file.
 
Note: If the problem is more widespread than just timekeeping and the virtual machine is simply running too slowly or quickly, and using apm=off is not sufficient, additionally add acpi=off noapic to the boot entry of the host's /etc/grub.conf file.

Keywords

1591; urlz

Feedback

Rating: 1 - Lowest 2 3 4 5 - Highest (3 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? (2000 or fewer characters)
Submit
Rating: 1 - Lowest 2 3 4 5 - Highest (3 Ratings)   
Actions