VMWare下开启时间同步可能会导致Ubuntu系统Crontab不精确

问题背景

最近发现VMWare中Ubuntu中每分钟运行的Crontab任务的开始时间总有几秒的偏差,并且时长跳变,对部分任务影响比较大,而且不同的环境不一定能重现,比如有这样的一个crontab实现每隔15秒运行一个任务(其中任务使用date命令代替了):

/tmp/p1中记录每个任务开始时间,这个时间按道理应该是00秒或者01秒,但是往往发现这个时间是04或者08甚至13秒才开始。

问题分析

刚开始以为是别的任务没有在最后补&进行后台运行导致影响其他任务,但是最后只保留这4个任务也会出现同样的问题,甚至也怀疑过>,>>和&的优先级的问题,都没找到解决办法。

有一次无意中看系统日志,发现居然每分钟都有系统时间被改变的日志:

看来很有可能是这个原因,但是为什么系统日志会被这么频繁地改变呢?可以排除是ntpd之类的时间同步进程导致。看了一下其他的服务器,也没有这种情况发生。

突然想到VMWare有时间同步到虚拟机的功能,果然这个服务器是开启了VMWare的时间同步功能:

将此功能关闭后,终于正常了,这个时间同步,还不清楚为什么会引起时间跳变,但是跳变过大,对系统服务会有很大的影响,目前遇到的除了还有Zookeeper连接莫名其妙超时,所以有ntp服务条件的还是关掉后使用系统ntpd服务进行时间同步比较好。

anyShare分享到:

原文地址:http://godmoon.wicp.net/blog/index.php/post_504.html,转载请注明出处

Moon发表于2017年8月11日
打赏作者

您的支持将鼓励我们继续创作!

[微信] 扫描二维码打赏

[支付宝] 扫描二维码打赏

发布者

sytzz

学会用简单的语言将复杂的问题说清楚。

发表评论

电子邮件地址不会被公开。