V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
einsdisp
V2EX  ›  程序员

电脑时钟每天误差 1-2 秒钟,是质量问题还是普遍现象?

  •  1
     
  •   einsdisp · 2022-01-30 16:28:34 +08:00 · 7142 次点击
    这是一个创建于 788 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近因为一些机缘巧合,发现电脑时钟每天似乎总有误差。

    于是进行测试,系统为 Linux ,关闭操作系统的时间同步( Systemd 的时间同步),写了一个几行的脚本追踪系统时间误差(ntpdate -q)。

    测试两台电脑,24 小时不关机,一个是技嘉 x570 ,每天变慢 2 秒钟,一个是微星 z170 ,每天变快 0.5 秒钟。这两个主板也不是非常低端的主板了,测了下电池电压也正常。结果每天误差这么多?

    这个是质量问题还是普遍现象?

    想了解下,这种时钟误差,应该是纯粹的主板的锅吧?跟 cpu 、芯片组、操作系统应该无关吧?

    30 条回复    2022-09-06 16:28:29 +08:00
    xingchenzhou
        1
    xingchenzhou  
       2022-01-30 16:31:38 +08:00 via Android
    正常
    newbieRenew
        2
    newbieRenew  
       2022-01-30 16:35:47 +08:00 via iPhone
    正常,需要和时间服务器同步,不然走着走着就不准了
    pengtdyd
        3
    pengtdyd  
       2022-01-30 16:40:07 +08:00
    每 10 分钟同步一次
    kenvix
        4
    kenvix  
       2022-01-30 16:42:27 +08:00
    你指望消费级主板的 RTC 能有多高精度...
    Cielsky
        5
    Cielsky  
       2022-01-30 16:51:54 +08:00 via Android
    这不太正常了
    la9998372
        7
    la9998372  
       2022-01-30 17:09:54 +08:00   ❤️ 37
    假设一个 32.768KHz±20ppm 的晶振,那么它每天的累计误差最大为
    20/1000000*3600*24=1.728s
    littlewing
        8
    littlewing  
       2022-01-30 18:37:49 +08:00
    正常误差范围
    要不换原子钟或 GPS 授时?
    ncepuzs
        9
    ncepuzs  
       2022-01-30 18:38:41 +08:00
    正常,手动同步即可
    wwbfred
        10
    wwbfred  
       2022-01-30 19:01:53 +08:00   ❤️ 1
    一看你就在 PS2/PS3 时代没玩过主机,那个时代普遍不联网,主机放时间长了都得自己调表。
    kevin100702
        11
    kevin100702  
       2022-01-30 19:04:58 +08:00 via Android
    正常
    kimwang
        12
    kimwang  
       2022-01-30 20:45:11 +08:00 via Android
    这问题好学术,涉及到计时误差问题,我跑~
    kokutou
        13
    kokutou  
       2022-01-30 20:52:40 +08:00 via Android
    消费级没那么准。。。

    服务器大厂有在研发高精度时种,可以降低内部延迟。
    Qazxcv123
        14
    Qazxcv123  
       2022-01-30 21:01:27 +08:00 via Android
    @kokutou 服务器 RTC 一样用的 32.768k 的外部晶体,偏差和 pc 差不多
    flynaj
        15
    flynaj  
       2022-01-30 21:34:40 +08:00 via Android
    这个正常,所以现在什么设备都是联网 NTP 对时间,这个误差来自晶振。就是这个
    @la9998372
    la9998372
        16
    la9998372  
       2022-01-30 21:55:45 +08:00   ❤️ 1
    另外补充一下,如果想提高晶振精度,可以选择 OCXO 或者 TCXO 晶振。

    恒温晶体振荡器简称恒温晶振,英文简称为 OCXO ( Oven Controlled Crystal Oscillator ),是利用恒温槽使晶体振荡器中石英晶体谐振器的温度保持恒定,将由周围温度变化引起的振荡器输出频率变化量削减到最小的晶体振荡器。OCXO 是由恒温槽控制电路和振荡器电路构成的。通常人们是利用热敏电阻“电桥“构成的差动串联放大器,来实现温度控制。

    温补晶振即温度补偿晶体振荡器( TCXO ),是通过附加的温度补偿电路使由周围温度变化产生的振荡频率变化量削减的一种石英晶体振荡器。温补晶振术语来自石英晶体振荡器的一种补偿方式已达到产品应用方面的精度要求。温补晶振定义是将压电石英晶体原有的物理特性(压电效应下频率随温度成三次曲线变化)通过外围电路逆向改变使得石英晶体原有频率随温度的变化尽可能的变小的一种补偿方式所做的石英晶体振荡器。
    breaker911
        17
    breaker911  
       2022-01-30 22:40:48 +08:00
    之前看到 LTT 搞到手民用版的板载原子钟 估计过 10 年就商用普及了 20 年估计能民用化自己选配了
    mingl0280
        18
    mingl0280  
       2022-01-31 06:59:39 +08:00 via Android
    你真要精确时钟就去搞个 FB 开源的那个 PCIe 卡呗……
    loading
        19
    loading  
       2022-01-31 09:01:16 +08:00
    @breaker911 #17 一个北斗授时时的东西才百来块,你说哪个划算。
    wangxn
        20
    wangxn  
       2022-01-31 09:42:44 +08:00 via Android
    学习了,完全没想到
    lingex
        21
    lingex  
       2022-01-31 11:42:40 +08:00
    没必要太高精度(降低成本),主要是现在网络校时太方便了。

    内置温补晶振的时钟芯片比如 DS3231, 可以做到正负 2ppm(0-40°C),换算成年误差不超过 2min.
    SevnChen
        22
    SevnChen  
       2022-01-31 13:00:41 +08:00   ❤️ 1
    感觉可以算作一个冷知识了,已经习惯所有的电子设备的时间都是准确且一致的了。。。
    laydown
        23
    laydown  
       2022-01-31 14:13:58 +08:00
    写个脚本,一天同步几次就行了。
    lidlesseye11
        24
    lidlesseye11  
       2022-01-31 15:15:48 +08:00
    一直以为石英表一年也就错个一两秒。。搜了下发现是每天。。
    redsonic
        25
    redsonic  
       2022-01-31 19:10:48 +08:00   ❤️ 1
    linux 下的时钟(wall time)是开机时内核从 RTC 芯片读出,然后每次程序读的时候是开机那个时刻加上内核的 jiffies 算出来的。我遇到过时间偏移过大的问题原因是 ntp 禁用而且某个内核任务占用 cpu 过长,jiffies 增加变慢,导致应用程序读出的时钟是慢的。
    linux 下可以用 hwclock 直接读写那个 RTC 芯片里的时钟,如果这个都会走偏才能说明是硬件问题。另外关机时内核会把自己算的 wall time 写回到 RTC 。
    konchu
        26
    konchu  
       2022-02-01 00:50:57 +08:00
    这么说卡西欧的玩具表都比这个准
    NewYear
        27
    NewYear  
       2022-02-01 14:09:38 +08:00
    常识:电子表 160 万年误差 1 秒。
    现实:160 万年亲妈都不认识了。
    lizytalk
        28
    lizytalk  
       2022-02-01 19:57:28 +08:00 via iPhone
    正常
    mandex
        29
    mandex  
       2022-02-08 11:55:35 +08:00
    好奇这个问题你是怎么发现的啊
    prophetww
        30
    prophetww  
       2022-09-06 16:28:29 +08:00
    多年前电脑不联网的时候确实遇到过这个问题 哈哈
    现在的联网设备基本上都支持网络时间协议(英语:Network Time Protocol ,缩写:NTP )联网更新时间,所以基本上没遇到过时间不准的问题
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1001 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 19:48 · PVG 03:48 · LAX 12:48 · JFK 15:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.