我看了this博客:
进行了一些研究之后我 发现这是由于 事实上,默认的Linux内核 以1000Hz的内部时钟运行 频率和VMware无法做到的 按时发送时钟中断 不会丢失它们。这意味着 有些时钟中断没有丢失 请注意Linux内核中的哪些内容 假设每个中断标记为1/1000 一秒钟所以每个时钟中断 迷路会让时钟倒塌 在1/1000秒之后。
现在,我的问题是,如果虚拟机管理程序能够处理时钟中断,虚拟机管理程序内部同步时间如何?
因为当说(扩大例子,而不是现实世界):在主持人的19:10:22,直到它传播给客人,主持人将是19:10:23。
我知道这是一个很难的问题,但我想你需要减慢虚拟机的时间。这是如何实现的?
答案 0 :(得分:2)
虚拟机管理程序不会同步时钟。它是在来宾VM中运行的软件,它使时钟保持同步。
从链接PDF的第15页(继续说明第19页):
客户操作系统时钟同步有两个主要选项:VMware Tools定期时钟同步 或者如果直接在物理上运行,则将与客户机操作系统一起使用的本机同步软件 硬件。本机同步软件的一些示例是Microsoft W32Time for Windows和NTP for Linux。
VMware Tools时钟同步工具每隔一段时间(可能每分钟一次)检查客户时钟与主机时钟的关系,如果错误则更正客户时钟。如果客户时钟稍微关闭,该工具将加速或减慢客户时钟,直到它具有正确的时间(在Windows上使用SetSystemTimeAdjustment
或在Unix上使用adjtime
)。如果您想知道该工具如何访问主机的时钟,那么VMware工具只知道如何使用它。