Win7 Embedded系统时间回跳61秒的原因与阈值调整咨询
Windows系统时间回跳61秒的原因及配置疑问
日志异常现象
以下是7×24运行的应用程序日志片段:
date time counter ... 20200928 184015 893872 20200928 184016 893873 20200928 184016 893874 20200928 184016 893875 20200928 184016 893876 20200928 184016 893877 20200928 184016 893878 20200928 184016 893879 20200928 183916 893880 20200928 183916 893881 20200928 183916 893882 20200928 183916 893883 20200928 183916 893884 20200928 183916 893885 20200928 183917 893886 ...
该日志基于Windows系统时间生成,其中counter字段每约100ms递增一次(误差±15ms),正常情况下每秒会有8-12次递增。但counter=893880的记录时间为183916,较前一条记录的184016回跳了61秒。
原因猜测
我推测导致该时间回跳的原因如下:
- Windows开机时会将系统时间同步至UEFI时间;若系统长期未重启(数周/数月/数年),系统时间与UEFI时间会产生显著偏差
- 系统运行期间,Windows会持续检测系统时间与UEFI时间的差值,当差值超过1分钟时,会将系统时间强制重置为当前UEFI时间
疑问与需求
- 上述Windows的时间同步行为是否准确?能否得到验证?
- 是否可以将该差值阈值修改为例如1秒,避免后续出现时间戳异常?
背景信息
- 目标应用为7×24运行程序,崩溃后会由另一程序自动重启(重启后
counter重置为1) - 机器会在特定场景下(如应用多次崩溃、系统崩溃等)由外部看门狗触发重启,最近一次应用重启发生在时间跳变前24.8小时,但无法确定机器上次重启时间(可能为几周前)
- 机器未联网(无时间服务器),未手动同步/设置时间,CMOS电池状态良好
- 设备为西门子SIMATIC IPC227E工业计算机,无双系统
内容的提问来源于stack exchange,提问作者johannes
相关产品推荐
相关产品推荐

