• 请不要在回答技术问题时复制粘贴 AI 生成的内容
einsdisp
V2EX  ›  程序员

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

  •  1
     
  •   einsdisp · Jan 30, 2022 · 9704 views
    This topic created in 1744 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

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

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

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

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

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