Loading

×Sorry to interrupt
CSS Error

Refresh

Cookie Preference Center

General Information on cookies

When you visit our website, we use cookies to ensure that we give you the best experience. This information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies by clicking on the different category headings to find out more and change your settings. However, blocking some types of cookies may impact your experience on the site and the services we are able to offer. Further information can be found in our

Cookie Policy.

Strictly Necessary

Strictly Necessary

Always Active

Strictly Necessary

Strictly necessary cookies are always enabled since they are essential for our website to function. They enable core functionality such as security, network management, and website accessibility. You can set your browser to block or alert you about these cookies, but this may affect how the website functions. For more information please visit www.aboutcookies.org or www.allaboutcookies.org.

Cookie Details‎

Performance

Performance

Performance

Performance cookies are used to analyze the user experience to improve our website by collecting and reporting information on how you use it. They allow us to know which pages are the most and least popular, see how visitors move around the site, optimize our website and make it easier to navigate.

Cookie Details‎

Please confirm your settings by refreshing the page.

Functional

Functional

Functional

Functional cookies help us keep track of your past browsing choices so we can improve usability and customize your experience. These cookies enable the website to remember your preferred settings, language preferences, location and other customizable elements such as font or text size. If you do not allow these cookies, then some or all of these services may not function properly.

Cookie Details‎

Advertising

Advertising

Advertising

Advertising cookies are used to send you relevant advertising and promotional information. They may be set through our site by third parties to build a profile of your interests and show you relevant advertisements on other sites. These cookies do not directly store personal information, but their function is based on uniquely identifying your browser and internet device.

Cookie Details‎

Advertising Cookies

Consent Leg.Interest

Select All Vendors

Select All Vendors

Select All Hosts

Select All

Clear Filters

Information storage and access

Apply

Confirm My Choices Reject All Allow All

Skip to main content

My Subscriptions

Loading

Knowledge Base

Time runs too fast in a Windows virtual machine when the Multimedia Timer interface is used (1005953)

Last Updated: 3/20/2024Categories: TroubleshootingTotal Views: 24016Language:
JapaneseEnglish

2 like this article

Subscribe to get an email
newsletter with new updates

2 people found this helpful Please provide article feedback:

Symptoms

Time in the virtual machine drifts ahead of real time

Time is not synced

Virtual machine does not keep time

Purpose

Windows multimedia timers are a service provided by Windows operating system to applications that provides high resolution callbacks for applications. Enabling, disabling, or changing the rate of callbacks can cause Windows to change the rate of interrupts requested from the hardware timer. When Windows is using the CMOS Real Time Clock (RTC) as the timer interrupt source, the act of changing the rate of the hardware timer can cause small amounts of time to be gained. If the rate is changed frequently, an appreciable amount of time might be gained in the virtual machine.

Java applications commonly change the multimedia timer rate and might trigger the time gain issue.

Resolution

When applications request a timer rate using the Windows Multimedia Timer interface, Windows changes the rate of timer interrupts generated by the hardware. The behavior of the CMOS RTC when changing the rate of timer interrupts is unspecified. When windows is using the CMOS RTC this can introduce a small error into Window's notion of time.

Affected Kernels

Versions of windows using the CMOS RTC for timekeeping interrupts. Whether Windows uses the CMOS RTC for timekeeping interrupts depends on which HAL it is using. The ACPI HALs are the ones that use the RTC. Which timers are in use can also be determined by looking at the TimeTrackerStats, which are described in Timekeeping in VMware Virtual Machines.

Solution

There are two possible solutions.

VMware recommends avoiding frequent changes to the multimedia timer period. Unfortunately this requires support from the application using the multimedia timer.

The other solution is to change the behavior of the virtual CMOS RTC to match the expectations of Windows. Starting with ESX/ESXi 3.5, the behavior of the CMOS RTC when its rate is changed now better matches the expectation of Windows.

This table provides a breakdown of the product and action to workaround the issue:

Product

Action

ESX 3.5 and later

No action required.

ESX 3.0.3

Ensure patch ESX303-200910401-BG is applied.

ESX 3.0.2

Ensure patch ESX-1002087 is applied.

ESX 3.0.1

Ensure patch ESX-1002082 is applied.

ESX 3.0.0

Ensure patch ESX-1002081 is applied.

ESX 2.5.x and earlier

Upgrade to ESX 3.0.0 or later.

Fusion 2.0 and later

No action required.

Fusion 1.x

Upgrade to Fusion 2.0 or later.

Player 2.0 and later

No action required.

Player 1.x

Upgrade to Player 2.0 or later.

Workstation 6.0 and later

No action required.

Workstation 5.x

Upgrade to Workstation 6.0 or later.

In some cases, it is possible to prevent the Windows multimedia timer interface from being used frequently. This involves not running the offending application or configuring it to not toggle the frequency of the timer. This is application specific and may not be possible. For applications using the Sun JVM, you can disable toggling of the frequency by passing '-XX:+ForceTimeHighResolution' to the JVM. The easiest way to do this is to set the _JAVA_OPTIONS environment variable.

To set the _JAVA_OPTIONS environment variable:

Click Start > Settings > Control Panel > System > Advanced > Environment Variables.

Click New under System Variables. The variable name is _JAVA_OPTIONS. The variable value is -XX:+ForceTimeHighResolution.

Reboot the guest operating system to ensure the variable is propagated properly.

Related Information

Another issue with similar symptoms is described in, Time in virtual machine drifts due to hardware timer drift (1006072) .
マルチメディア タイマー インターフェイスを使用すると Windows 仮想マシンの時刻が早くなる

Detectable by VMware SkylineTM

Actions

Copy

link to clipboard
copied!

Print

Language:
JapaneseEnglish

Attachments

Additional Resources

KB
•
End Of General Availability of the Free vSphere Hypervisor (ESXi 7.x and 8.x) (2107518)

KB
•
ゲスト OS が要求するタイマー割り込みの速度を計測および変更する (1005802)

KB
•
Troubleshooting network connection failures (1008367)

Results 1-3 of 3

Ask The Community

Get answers quickly from VMware experts in the community

Post Subject

CONTINUE IN COMMUNITIES

Related Products:

VMware Workstation Player

VMware Workstation

VMware vSphere ESXi

VMware Server

VMware Player

VMware GSX Server

VMware Fusion

VMware ESX Server

VMware ACE

view all

Related Versions:

Take Our Survey

Was this article helpful?

YES

NO

Copyright © 2005-2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.

Terms of Use

Your California Privacy Rights

Privacy

Accessibility

Cookie Settings

Support Assistant