V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
aizya
V2EX  ›  Linux

Linux 服务器为什么运行一段时间之后时间会和真实时间有误差?

  •  1
     
  •   aizya · 2020-04-20 16:22:58 +08:00 · 5521 次点击
    这是一个创建于 1680 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    感恩~~

    16 条回复    2020-04-23 19:18:51 +08:00
    wangyaominde
        1
    wangyaominde  
       2020-04-20 16:35:03 +08:00
    之前搞单片机的尝试说一下,不足的楼下补充
    1.温度影响:rtc 的晶振如果无温度补偿则会受温度影响导致频率变化,故一天有 2-10s 不定的误差(根据 rtc 晶振特性)
    2.cmos 电池没电了,晶振工作不稳定
    JamesR
        2
    JamesR  
       2020-04-20 16:45:34 +08:00
    石英晶振误差而已,月误差±15 秒,每天就是约±0.5 秒,还要受温度影响,温度低震动频率低,走得慢些。
    要高精度,自建 NTP 服务器,或者外接 GPS 时钟校正。
    另外记得买个劳力士,百达翡丽机械表戴戴还是不错的,日±2 秒误差。
    Xusually
        3
    Xusually  
       2020-04-20 16:47:33 +08:00
    自建 NTP,内网机器和自建 ntp 服务器定期对时,写入硬件时钟

    遇到最过分的一台 dell 服务器,一天可以慢 15s,还引起了一些 bug,时间敏感
    aizya
        4
    aizya  
    OP
       2020-04-20 17:07:52 +08:00
    @Xusually 我这台服务器两个月慢了十个小时正常吗?
    dilu
        5
    dilu  
       2020-04-20 17:18:51 +08:00
    @JamesR
    @Xusually 突然想到:提供 NTP 服务的不也是一台服务器?那这台服务器硬件不也会面临各种情况导致时间不准确?
    lzyliangzheyu
        6
    lzyliangzheyu  
       2020-04-20 17:21:58 +08:00
    @wangyaominde 老哥现在是搞哪方面的啊
    b821025551b
        7
    b821025551b  
       2020-04-20 17:22:20 +08:00
    @dilu #5 一般计算机用的晶震和 NTP 服务器的可不一样,另外还有软件层面校准,误差很低。
    Xusually
        8
    Xusually  
       2020-04-20 18:10:38 +08:00
    @dilu 没错,所以自建 ntp 的时候,需要监测,可以有两三台做一个 pool

    但是最重要的一点,至少保证了集群内的机器,要快一起快,要慢一起慢,这样有问题很容易发现。
    fonlan
        9
    fonlan  
       2020-04-20 18:14:29 +08:00
    @dilu NTP 服务器是一级级同步上去的,最顶上那层一般是跟 GPS 接收器同步的。NTP 服务会在后台定期不停的进行时间同步,以保证时间的精确。商用服务的话 NTP 同步一般是最基本的要求。
    dilu
        10
    dilu  
       2020-04-20 18:39:33 +08:00
    @Xusually
    @fonlan 感谢大佬解惑
    sagaxu
        11
    sagaxu  
       2020-04-20 18:41:02 +08:00 via Android
    原子钟时钟源了解一下
    qwerthhusn
        12
    qwerthhusn  
       2020-04-20 18:47:44 +08:00
    借楼问一下大佬,集群所有服务器都启用了 ntpd,不过没设什么 ntp 服务器地址(应该是 CentOS 默认指定的)
    这样的话,还会出现各个服务器时间差别比较大的情况么?
    @fonlan
    killeder
        13
    killeder  
       2020-04-21 00:38:17 +08:00 via Android
    @dilu NTP 服务器应该有原子钟吧
    msg7086
        14
    msg7086  
       2020-04-21 01:14:35 +08:00 via Android
    @dilu 外接精准计时设备,例如铯原子钟,或者北斗或 GPS 时钟同步信号。
    wangyaominde
        15
    wangyaominde  
       2020-04-21 11:20:38 +08:00
    @lzyliangzheyu 啥也在搞,嵌入式、网络、画原型,小公司啥都干
    nereus
        16
    nereus  
       2020-04-23 19:18:51 +08:00 via iPhone
    @dilu 他们都没说对,ntp 服务器是和授时中心同步的,全世界有几大授时中心,授时中心用的是色原子钟,色原子钟误差几百年都不到一秒,另外格林尼治天文台还会根据地球自转公转和恒星参考系矫正时间,当年的润一秒就是天文台校准
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5687 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 09:00 · PVG 17:00 · LAX 01:00 · JFK 04:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.