首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我的系统时钟会自动同步到硬件时钟吗?

我的系统时钟会自动同步到硬件时钟吗?
EN

Ask Ubuntu用户
提问于 2018-09-28 23:45:56
回答 1查看 3.1K关注 0票数 2

我知道我的硬件时钟是基于一个简单的石英时钟,并将失去同步随着时间的推移,但系统时间是基于CPU时钟,并是超级精确的结果。

我不是在一个我可以使用NTP的环境中,所以我需要知道,系统时钟会自动同步回hw时钟以防止它漂移吗?

如果没有,我需要设置一个cron作业或调用hwclock来同步回hw时钟。一切都设置为UTC,所以这不应该是一个问题。

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2018-09-29 02:02:21

我认为此页提供了最好的答案:

  1. Linux如何跟踪时间2.1基本策略Linux系统实际上有两个时钟:一个是电池驱动的“实时时钟”(也称为"RTC“、"CMOS时钟”或“硬件时钟”),它跟踪系统关闭时的时间,但在系统运行时不使用。另一个是“系统时钟”(有时称为“内核时钟”或“软件时钟”),它是一个基于定时器中断的软件计数器。当系统不运行时,它不存在,因此必须在启动时从RTC (或其他一些时间源)初始化它。在ntpd文档中对“时钟”的引用指的是系统时钟,而不是RTC。这两个时钟将以不同的速度漂移,因此它们将逐渐分开,也远离“真实”时间。最简单的方法,以保持他们的时间是测量他们的漂移率和应用校正因子在软件。由于只在系统不运行时才使用RTC,所以当在引导时读取时钟时,使用时钟(8)或hwclock(8)时应用校正因子。利用adjtimex(8),通过调整每个定时器中断提前系统时间的速率来校正系统时钟。adjtimex(8)的一个粗略的替代方法是让chron运行时钟(8)或hwclock(8)周期性地将系统时间同步到(校正的) RTC。这是在clock(8)手册页中推荐的,如果您经常这样做,不会导致系统时间上的大“跳转”,那么它就能工作,但是adjtimex(8)是一个更优雅的解决方案。如果时间倒流,一些应用程序可能会抱怨。下一步是使用ntpd这样的程序定期从网络时间服务器或无线电时钟读取时间,并不断调整系统时钟的速率,使时间始终匹配,而不会导致系统时间中的突然“跳转”。如果在启动时总是有网络连接,则可以完全忽略RTC,并使用ntpdate (随ntpd包附带)从时间服务器--局域网上的本地服务器或internet上的远程服务器--初始化系统时钟。但是,如果有时您没有网络连接,或者在网络活动之前需要时间在引导序列中准确,那么您也需要在RTC中维护时间。
票数 4
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1079364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档