嗨,我需要在一组系统内进行微秒级时间同步,但我发现这很困难。
我的实验:在局域网中,通过一些 ruby 代码不断比较 2 个 x64 linux 系统硬件时钟:这是使用 udp 数据包向另一个发送微秒时间戳并比较差异。实验代码:https ://github.com/c2h2/chrono-diff
结果:时间过得真快!有趣的是它们也不是在一个方向上漂移,两个时钟的差异有时是正的,有时是负的,随机的方式。在前一次同步几个小时后,它们可能相差 1 秒。
我应该如何始终保持完美同步?每隔几分钟运行一次时间同步?