% ntpq -c 'rv 0 leap'
FreeBSD 对闰秒的支持
目录
1. 简介
闰秒是在特定年份的特定时间对 UTC 进行的一秒调整,以使原子时间尺度与地球自转变化保持同步。本文介绍了 FreeBSD 如何与闰秒交互。
截至本文撰写之时,下一个闰秒将在 2015 年 6 月 30 日 23:59:60 UTC 出现。这个闰秒将发生在北美、南美和亚太地区的营业日。
标准闰秒行为在RFC 7164中进行了描述。另请参阅time2posix(3)。
3. 注意事项
闰秒在世界各地同时插入:UTC 午夜。在日本,那是上午;在太平洋,那是中午;在美洲,那是下午晚些时候;在欧洲,那是晚上。
我们相信并期望 FreeBSD(如果提供了正确且稳定的 NTP 服务)将在本次闰秒期间按设计工作,就像在之前的闰秒期间一样。
但是,我们提醒您,实际上几乎没有任何应用程序曾经询问过内核有关闰秒的信息。我们的经验是,根据设计,闰秒本质上是闰秒前一秒的重播,这对大多数应用程序程序员来说是一个惊喜。
其他操作系统和其他计算机可能或可能不会以与 FreeBSD 相同的方式处理闰秒,并且没有正确且稳定的 NTP 服务的系统根本不会知道任何有关闰秒的信息。
由于闰秒导致计算机崩溃的情况并不少见,并且经验表明,所有公共 NTP 服务器中很大一部分可能会错误地处理和宣布闰秒。
请尽量确保不会因闰秒而发生任何可怕的事情。
4. 测试
可以测试是否将使用闰秒。由于 NTP 的性质,测试可能在闰秒前 24 小时内有效。一些主要的参考时钟源仅在事件前一小时宣布闰秒。查询 NTP 守护进程
包含leap_add_sec
的输出表示对闰秒的支持。在闰秒前 24 小时或闰秒过去后,将显示leap_none
。
上次修改于:2021 年 11 月 3 日,作者 Sergio Carlavilla Delgado