Ticket #2526 (closed defect: fixed)

Opened 9 years ago

Last modified 4 years ago

Non-uniform internal timer in guest OS

Reported by: CaptainFlint Owned by:
Priority: major Component: other
Version: VirtualBox 2.0.4 Keywords:
Cc: Guest type: Linux
Host type: Windows

Description (last modified by frank) (diff)

Host machine: Core 2 Duo 6600, 2 GB RAM.
Host OS: WinXP SP3
Guest OS: SUSE Linux Enterprise Server 10 SP2
GA installed

Partially the problem is mentioned in the forum threads:
and probably here:

However, I could find some more details which may be of use for reproducing and fixing the problem.

Problem description

The internal timer inside VM sometimes runs non-uniformly. It looks like following:

  1. At first the guest OS looks somewhat slow in every aspect (including system clock which shows seconds passing more slowly than on the host clock). So, as time passes, the guest clock become more and more mistimed with the host one.
  2. Then suddenly the virtual machine starts to catch up the host clock: guest OS works much faster than before, keyboard delays are extremely low (so when I try to type e.g. "grep", I get something like "ggggggrrrrrreeeeeppppp"), the guest clock are running very fast (several seconds pass within only one "host second").
  3. When guest timer equals to the host one, the speed returns back to normal, then again slows down, and then speeds up, and so on.

Lengths of the periods described can be different. Sometimes, it is slow for couple of minutes, then fast for 7-10 seconds; sometimes it's slow for several seconds, then fast for 0,5-1 second.

Additional factors

I wanted to record a video with this behaviour. However, each time I run video recorder (I'm using UVScreenCamera), the problem became unreproducable. Finally, I noticed that UVScreenCamera's recording process performs something that forces VirtualBox's guest clock catch up the host clock. And the more frames per second I set in the recorder's options, the more smoothly runs VirtualBox. So, it seems that each additional redraw operation (or something like that) makes VB forcibly perform that "catch up" operation, which otherwise would be delayed for the future.

Change History

comment:1 Changed 9 years ago by Alegranon

Contribution from Alegranon

I have the same problem and may have a workaround for some people as well as an indicator as to where the source of this problem may be. If your host machine has Hyperthreading "enabled" in the BIOS, change it to "disabled". This fixed the typing issue on a Pentium 4 machine with Windows XP SP3 that has VBox 2.0.2 installed with a Linux guest booting from the Knoppix 5.3.1 Live DVD iso image. After this change, the system clock in the Linux guest now increments at the same interval as the Windows host's clock.

comment:2 Changed 4 years ago by frank

  • Status changed from new to closed
  • Resolution set to fixed
  • Description modified (diff)

Please reopen if still relevant with VBox 4.3.2.

Note: See TracTickets for help on using tickets.
ContactPrivacy policyTerms of Use