如何停止运行 ubuntu 8.04 的 virtualbox 客户端上的时钟快速运行?

如何停止运行 ubuntu 8.04 的 virtualbox 客户端上的时钟快速运行?

我在 VirtualBox 3.04 中运行的 Ubuntu 8.04 服务器(2.6.24-24-通用内核)中遇到了时钟运行过快的问题。

它漂移得很快,大约每小时 5 分钟。

我认为它工作正常,直到我升级到 VirtualBox 3.04(从 2.something 开始)。我一直在ntpd运行,我唯一需要做的就是/etc/init.d/ntp stop,当虚拟机暂停/恢复时ntpdate .../etc/init.d/ntp start

今天,我尝试安装 VirtualBox Guest Additions,并且它们正在运行(根据/etc/init.d/vboxadd status。)

运行vboxadd-service --foreground --verbose 结果为:

vboxadd-service: Starting 'timesync' in the main thread
vboxadd-service: adjtime by -380331911000 ns
vboxadd-service: adjtime by -381107064000 ns
vboxadd-service: adjtime by -381883899000 ns

看起来它正在尝试更新时间,但是失败了。

所以,我不确定该怎么做,我无法找到关于是否ntpd应该运行的共识?如果不运行,我该如何阻止它在重启时再次启动?

答案1

这是 VirtualBox 中的一个已知问题,通过在虚拟机上安装 Guest Additions 来管理 TimeSync 即可解决。不久前 VMWare 也出现过类似的问题。这只是 VirtualBox 中被报告的其中一次。

确保您正在运行最新的客户添加程序,并且它是随您的 VirtualBox 版本提供的最新版本。

答案2

我不明白为什么不能在系统上运行 ntpd,或者每两三分钟运行一次 cronjob 和 ntpdate。我记得时钟漂移曾经是许多 VM 产品中的一个问题,解决方案始终是确保附加功能/实用程序和 VM 产品处于同一级别。

您还可以查看安装带有更新版本 Ubuntu 的新 VM 是否会影响时钟漂移,或者系统上的超线程或 BIOS 中启用的其他处理器扩展是否存在异常。

我个人的方法是定期从 cron 运行时间同步,因为 NTP 有时会在不通知我的情况下失败或在随机时间运行,当时钟没有疯狂偏差时,这将会很棒,但在这种情况下...强制它持续运行可能会更方便。除了消耗一些额外的处理器周期外,不会造成任何损害。

答案3

我不了解 Ubuntu 和 Virtualbox,但根据我对 RedHat 和 VMware 的了解,您可以尝试将“clock=pit”附加到内核启动选项中。

相关内容