This article provides best practices for achieving accurate timekeeping in Windows guest operating systems. These recommendations include a suggested configuration for time synchronization in the guest and on the host.
For achieving accurate timekeeping in Windows guest operating systems, there are two main issues to consider: correctly configuring time synchronization and avoiding excessive CPU and memory overcommitment. Time synchronization utilities are necessary to correct time drift introduced by hardware time drift and guest operating system timekeeping imprecision. Excessive overcommitment can cause timekeeping drift at rates that are uncorrectable by time synchronization utilities. This best practices document covers time synchronization recommendations.
When using w32time, there are a number of configuration parameters that can be changed. The table below describes the relevant parameters and gives a recommended value. All the parameters are stored in the registry. Some of them can also be modified through the w32tm utility instead of directly editing the registry. This best practices guide covers running w32time in NTP mode. w32time can also use the windows domain hierarchy as time servers, which is not covered in this best practices guide.
Key | Details |
HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\ Services\W32Time\ TimeProviders\NtpClient\ SpecialPollInterval | Recommended Value: 900 Type: REG_DWORD Description: This parameter controls how often w32time will poll the time server to check whether time on the client needs to be corrected. The parameter is specified as number of seconds to wait between polling. The recommended value of 900 specifies that the time server should be polled once every 15 minutes. |
HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\ Services\W32Time\Parameters\ NtpServer | Recommended Value:
Type: REG_SZ Description: This parameter specifies the time servers to use. It is specified as a string of space separated servers. Specifying ",0x1" after the server name indicates that the server should be contacted at the frequency specified by the SpecialPollInterval setting. Note: Modify the recommended value to point to the ntp servers available in the environment. w32tm Command: w32tm /config "/manualpeerlist:
|
HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\ Services\W32Time\Parameters\ Type | Recommended Value: NTP Type: REG_SZ Description: This parameter specifies the mode that w32time should use. A value of NT5DS indicates that w32time should use the Windows domain hierarchy as its time servers rather than the NTP servers specified in the NtpServer key. w32tm Command: w32tm /config /syncfromflags: MANUAL |
When using w32time or NTP in the guest, disable VMware Tools periodic time synchronization.
To disable VMware Tools periodic time sync, use one of these options:
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 even if VMware Tools periodic time sync is disabled, so it is important to ensure that the host operating system's time is correct. For more information about ESX 4/ESXi 4 or Workstation 7, see Timekeeping in VMware Virtual Machines.