技术解析

Linux 服务器为什么运行一段时间之后时间会和真实时间有误差?
0
2021-06-17 22:22:41
idczone

RT, 想知道为什么在做完下面步骤之后:

  1. ntpdate time.nist.gov
  2. hwclock -w

服务器过了一段时间还是会出现时间误差的问题?

我知道可以通过定时任务去不定期重复上述步骤,更新时间. 但是我疑惑的是,为什么会服务器出现时间误差? 有哪些情况会造成时间误差?

感恩~~


之前搞单片机的尝试说一下,不足的楼下补充
1.温度影响:rtc 的晶振如果无温度补偿则会受温度影响导致频率变化,故一天有 2-10s 不定的误差(根据 rtc 晶振特性)
2.cmos 电池没电了,晶振工作不稳定

石英晶振误差而已,月误差±15 秒,每天就是约±0.5 秒,还要受温度影响,温度低震动频率低,走得慢些。
要高精度,自建 NTP 服务器,或者外接 GPS 时钟校正。
另外记得买个劳力士,百达翡丽机械表戴戴还是不错的,日±2 秒误差。

自建 NTP,内网机器和自建 ntp 服务器定期对时,写入硬件时钟
遇到最过分的一台 dell 服务器,一天可以慢 15s,还引起了一些 bug,时间敏感

我这台服务器两个月慢了十个小时正常吗?


突然想到:提供 NTP 服务的不也是一台服务器?那这台服务器硬件不也会面临各种情况导致时间不准确?

老哥现在是搞哪方面的啊

一般计算机用的晶震和 NTP 服务器的可不一样,另外还有软件层面校准,误差很低。

没错,所以自建 ntp 的时候,需要监测,可以有两三台做一个 pool
但是最重要的一点,至少保证了集群内的机器,要快一起快,要慢一起慢,这样有问题很容易发现。

NTP 服务器是一级级同步上去的,最顶上那层一般是跟 GPS 接收器同步的。NTP 服务会在后台定期不停的进行时间同步,以保证时间的精确。商用服务的话 NTP 同步一般是最基本的要求。


感谢大佬解惑

原子钟时钟源了解一下

借楼问一下大佬,集群所有服务器都启用了 ntpd,不过没设什么 ntp 服务器地址(应该是 CentOS 默认指定的)
这样的话,还会出现各个服务器时间差别比较大的情况么?
@fonlan

NTP 服务器应该有原子钟吧

外接精准计时设备,例如铯原子钟,或者北斗或 GPS 时钟同步信号。

啥也在搞,嵌入式、网络、画原型,小公司啥都干

他们都没说对,ntp 服务器是和授时中心同步的,全世界有几大授时中心,授时中心用的是色原子钟,色原子钟误差几百年都不到一秒,另外格林尼治天文台还会根据地球自转公转和恒星参考系矫正时间,当年的润一秒就是天文台校准

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服