在ntpd的许多引导中,像这样 ,总会有一个警告:ntpd将停止重置时钟“[如果]你的时钟太远了。
离“太远”还有多远?
另外,如果服务器突然跳到重负载,例如从完全空闲到100%的CPU,温度的boost会导致时钟偏移到“太远”?
ntpd可以configuration为重置时钟,即使时间“太远了”或至less使“太远”了一点点?
首先,默认最大差异是其他人提到的1000s。 正如@kyle所说的,你可以使用-g
标志忽略这一次,只是为了初始设置你的时钟。
在那之后,即使在高负载下,你也不应该看到你的时钟在更新之间漂移了1000,如果你确实需要更换时钟的话。 您需要的configuration中的设置是minpoll
和maxpoll
。 这将允许您将间隔持续时间设置为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版本。