ntpd有多远“太远了”? 它能突然跳到重负荷吗? 这可以被覆盖?

ntpd的许多引导中,像这样 ,总会有一个警告:ntpd将停止重置时钟“[如果]你的时钟太远了。

离“太远”还有多远?

另外,如果服务器突然跳到重负载,例如从完全空闲到100%的CPU,温度的boost会导致时钟偏移到“太远”?

ntpd可以configuration为重置时钟,即使时间“太远了”或至less使“太远”了一点点?

首先,默认最大差异是其他人提到的1000s。 正如@kyle所说的,你可以使用-g标志忽略这一次,只是为了初始设置你的时钟。

在那之后,即使在高负载下,你也不应该看到你的时钟在更新之间漂移了1000,如果你确实需要更换时钟的话。 您需要的configuration中的设置是minpollmaxpoll 。 这将允许您将间隔持续时间设置为2的幂(例如10表示2 10 = 1024 s)。

请注意,即使在高负载的情况下,您的系统也可能不会发生大幅漂移,并且默认设置应该保持在检查状态。 你不想每秒钟都用更新来轰击NTP服务器,因为你浪费资源会使你被阻塞,很可能是你的ISP NOC。 如果您真的需要非常准确的时间使用GPS或设置您自己的NTP服务器。

如果NTPDclosures,时钟摆动,NTPD可以缓慢增加时钟。 这背后的想法是,缓慢的步骤不会导致软件定时器的问题,在日志文件等奇怪的差距

Unix内核可能的最大压缩率限制在500百万分率(PPM)。 因此,时钟每秒钟可能需要2000秒才能超出可接受的范围。

根据手册页面ntpd将不会工作,如果你的时钟超过1000秒closures。

由于转动时钟调整1000秒至less需要3周,在此期间,所有date/时间戳仍然closures,这似乎并不合理。

ntpdate命令有一个-b开关,可以简单地调整时间而不需要转动。 这在本地系统时钟偏离“正确”时间太多的情况下非常有用。

这是在man ntpd指定的,您可以覆盖它,您可能会对-g选项感兴趣(请注意“默认为1000秒”:

-g通常情况下,如果偏移量超过了恐慌阈值(默认为1000秒),则ntpd退出并向系统日志发送消息。 这个选项允许时间被设置为任何值,没有限制; 但是,这只能发生一次。 如果超过此阈值, ntpd将会退出并显示一条消息给系统日志。 该选项可以与-q-x选项一起使用。 请参阅tinker命令的其他选项。

你可以在ntpd.conf调整它。 如果你想禁用它,你可以设置tinker panic 0 。 请参阅其他选项文档以了解更多信息。

为什么不通过crontab每4小时同步一次? 这样你可以确定你会有一个合理的时间同步。 我认为这是约1000秒,取决于ntpd版本。