9.14. Fine-tuning timers and time synchronization
9.14.1. Configuring the guest time stamp counter (TSC) to reflect guest execution
By default, VirtualBox keeps all sources of time visible to the guest synchronized to a single time source, the monotonic host time. This reflects the assumptions of many guest operating systems, which expect all time sources to reflect "wall clock" time. In special circumstances it may be useful however to make the TSC (time stamp counter) in the guest reflect the time actually spent executing the guest.
This special TSC handling mode can be enabled on a per-VM basis, and for best results must be used only in combination with hardware virtualization. To enable this mode use the following command:
VBoxManage setextradata "VM name" "VBoxInternal/TM/TSCTiedToExecution" 1
To revert to the default TSC handling mode use:
VBoxManage setextradata "VM name" "VBoxInternal/TM/TSCTiedToExecution"
Note that if you use the special TSC handling mode with a guest operating system which is very strict about the consistency of time sources you may get a warning or error message about the timing inconsistency. It may also cause clocks to become unreliable with some guest operating systems depending on how they use the TSC.
9.14.2. Accelerate or slow down the guest clock
For certain purposes it can be useful to accelerate or to slow down the (virtual) guest clock. This can be achieved as follows:
VBoxManage setextradata "VM name" "VBoxInternal/TM/WarpDrivePercentage" 200
The above example will double the speed of the guest clock while
VBoxManage setextradata "VM name" "VBoxInternal/TM/WarpDrivePercentage" 50
will halve the speed of the guest clock. Note that changing the rate of the virtual clock can confuse the guest and can even lead to abnormal guest behavior. For instance, a higher clock rate means shorter timeouts for virtual devices with the result that a slightly increased response time of a virtual device due to an increased host load can cause guest failures. Note further that any time synchronization mechanism will frequently try to resynchronize the guest clock with the reference clock (which is the host clock if the VirtualBox Guest Additions are active). Therefore any time synchronization should be disabled if the rate of the guest clock is changed as described above (see Section 9.14.3, “Tuning the Guest Additions time synchronization parameters”).
9.14.3. Tuning the Guest Additions time synchronization parameters
The VirtualBox Guest Additions ensure that the guest's system time is synchronized with the host time. There are several parameters which can be tuned. The parameters can be set for a specific VM using the following command:
VBoxManage guestproperty set "VM name" "/VirtualBox/GuestAdd/VBoxService/PARAMETER" VALUE
where PARAMETER is one of the following:
--timesync-interval
Specifies the interval at which to synchronize the time with the host. The default is 10000 ms (10 seconds).
--timesync-min-adjust
The minimum absolute drift value measured in milliseconds to make adjustments for. The default is 1000 ms on OS/2 and 100 ms elsewhere.
--timesync-latency-factor
The factor to multiply the time query latency with to calculate the dynamic minimum adjust time. The default is 8 times, that means in detail: Measure the time it takes to determine the host time (the guest has to contact the VM host service which may take some time), multiply this value by 8 and do an adjustment only if the time difference between host and guest is bigger than this value. Don't do any time adjustment otherwise.
--timesync-max-latency
The max host timer query latency to accept. The default is 250 ms.
--timesync-set-threshold
The absolute drift threshold, given as milliseconds where to start setting the time instead of trying to smoothly adjust it. The default is 20 minutes.
--timesync-set-start
Set the time when starting the time sync service.
--timesync-set-on-restore 0|1
Set the time after the VM was restored from a saved state when passing 1 as parameter (default). Disable by passing 0. In the latter case, the time will be adjusted smoothly which can take a long time.
All these parameters can be specified as command line parameters to VBoxService as well.
9.14.4. Disabling the Guest Additions time synchronization
Once installed and started, the VirtualBox Guest Additions will try to synchronize the guest time with the host time. This can be prevented by forbidding the guest service from reading the host clock:
VBoxManage setextradata "VM name" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1
帮忙理解virtualbox手册里这一节的准确描述
- 百草谷居士
- 帖子: 4025
- 注册时间: 2006-02-10 16:36
- 系统: debian12/xubuntu2404
帮忙理解virtualbox手册里这一节的准确描述
Mint 22 / Xubuntu 24.04
为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
- 百草谷居士
- 帖子: 4025
- 注册时间: 2006-02-10 16:36
- 系统: debian12/xubuntu2404
Re: 帮忙理解virtualbox手册里这一节的准确描述
9.14.2 加速或减慢客户机时钟 中所描述的事情。
问题是这样的,当客户机通过宿主机访问外设硬件时,会受到时钟的影响。比如有时候按下键盘会没有反应,有时候读取USB加密锁会出错。这种时候,应该是加速客户机时钟还是减慢客户是时钟呢?
另外,如果要微调客户机时钟,要怎么设置TSC (time stamp counter) 呢?还是跟9.14.1中描述的事情这毫无关系呢?另外和9.14.3中描述的时间同步设置又有什么联系呢?要不要关闭时间同步功能呢?
问题是这样的,当客户机通过宿主机访问外设硬件时,会受到时钟的影响。比如有时候按下键盘会没有反应,有时候读取USB加密锁会出错。这种时候,应该是加速客户机时钟还是减慢客户是时钟呢?
另外,如果要微调客户机时钟,要怎么设置TSC (time stamp counter) 呢?还是跟9.14.1中描述的事情这毫无关系呢?另外和9.14.3中描述的时间同步设置又有什么联系呢?要不要关闭时间同步功能呢?
Mint 22 / Xubuntu 24.04
为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。