VMware 虚拟机的时钟

2018-10-25 10:11:58 +08:00
 lcdxiangzi
一个 VMware 虚拟机,主机开机一年半多,跑下来时间竟然比北京时间快了 23 分钟,感觉好夸张。
里面的虚拟机,每天晚上都会去 ntp,但是日志显示每天的偏差都有半秒多。
25 Oct 03:00:06 ntpdate[3179]: step time server 192.168.xxx.xxx offset -0.728874 sec
也是感觉很夸张。
机器硬件时钟应该是非常成熟的技术,为什么会有这么大的偏差呢。

看网上说法,
This problem occurs on some host computers that use Intel SpeedStep or other similar
power-saving technologies that vary the processor speed.
To work around this problem, you can specify the correct maximum CPU speed in your global
configuration file.
还是不是很理解,CPU 降频升频,会把机器的时钟也带乱?
3382 次点击
所在节点    程序员
15 条回复
wzxlovesy
2018-10-25 10:36:02 +08:00
CPU 时钟不见得和计时器是同一个输入,但也有可能主板为了同步就直接把 cpu 时钟拿来计数
alvin666
2018-10-25 10:36:02 +08:00
对啊,时钟是按 cpu 频率来的,开个 ntpserver 就行了,自动同步
opengps
2018-10-25 10:37:56 +08:00
电脑的时钟本来就不准,需要一直开着时间同步服务自动修正
likuku
2018-10-25 10:42:38 +08:00
你是用 ntpdate 的么?那个不建议用,会遇到一次跳太多,造成某些时钟敏感的软件 or 服务 故障。

还是开个 ntpd 吧,它会持续不断检查时钟偏差,发现偏差则自动校准(保持在一个很小范围内,持续渐进不断校准)。

“为什么不用 ntpdate,而要用 ntpd ” from:
AsiaBSDCon 上说 OpenBSD 的 sensor framework 的时候的一个观点 - delphij's Chaos :
https://blog.delphij.net/2007/03/asiabsdconopenb.html
lcdxiangzi
2018-10-25 10:49:23 +08:00
@likuku
@opengps
@alvin666
@wzxlovesy

感谢各位,学习了
opengps
2018-10-25 10:53:45 +08:00
一直奇怪,Vsphere 虚拟化之后的 windows 系统有个现象:
虚拟机里的时间很容易出现跟宿主机相差 8 小时左右的问题(至于是早还是晚我记不清了),相差不是严格的 8 小时,也确定系统里时区因素
GeruzoniAnsasu
2018-10-25 11:15:38 +08:00
@opengps 你装双系统也会有这个问题

windows 把硬件时钟当本地时间,Linux 当做 UTC

可以改注册表,具体百度
sutra
2018-10-25 13:14:37 +08:00
我有个古老闲置的 MacBook Air 有时候个把月不用,也不充电,再拿出来充电开机发现时钟落后了好几天。
当然我只是碰巧遇到了一次,没有多次实验证明。
greenskinmonster
2018-10-25 13:33:44 +08:00
不是在 VM Options 设置了虚拟机跟宿主机时间同步了吧,宿主机时间偏移,导致虚拟机也偏移。
宿主机能连 ntp 服务器的话,就宿主机同步,虚拟机跟随宿主机一致即可。
否则就虚拟机 ntp 同步,取消跟宿主机同步。
lcdxiangzi
2018-10-25 16:25:14 +08:00
@greenskinmonster 这确实是个坑,本来我的虚拟机都是有 ntp 的,但是前阵子因为运维需要,重启了一台虚拟机,结果不小心和主机同步了,(主机没有 ntp,已经快了 20 多分钟了),结果这台重启的虚拟机的时钟提前了 20 分钟,整整一天,直到晚上 ntp 同步。一天搞出来好多问题,也正是这个事情,我才开始关注时钟问题。

以前都是只关注应用层面,这两年独立负责一个项目,发现环境相关问题实在是太多了,而且五花八门。每次都只能靠度娘。。。。
Les1ie
2018-10-25 17:06:36 +08:00
小米手环 2,几天半个月没开 APP,然后发现手环快了一分钟..
honeycomb
2018-10-25 17:13:51 +08:00
@lcdxiangzi

一个是使用 ntpd,这个对使用依赖时钟生成键的数据库有好处。

另一个相关的,如果是 VMware 里跑 Windows,VMware tools 会有一个同步主机时间到虚拟机的功能
SpartzTao
2018-10-25 20:42:03 +08:00
以前看过主板更换振晶达到时间校准目的的文章😂
lcdxiangzi
2018-10-26 15:29:10 +08:00
@SpartzTao 其实我想说,服务器好歹也是大几万的设备,时钟怎么会比几百块的手表差呢。
SpartzTao
2018-10-26 16:27:56 +08:00
@lcdxiangzi 这确实是个大问题,不过主板缩水的厂家多了去了,每块板省个几毛合计也不得了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/500932

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX