这个问题与这个问题和我在 serverfault 上问过的这个问题有关。
根据我之前的问题,我有兴趣以快速(理想情况下少于一秒)、同步(如果进程以 0 状态完成,时间应该同步)和稳健的方式(“稳健”)同步我的机器上的时间” 这里的意思是只要我们收到来自ntp服务器的响应,时间就要根据响应来设置)。ntp在这个快速的初始同步之后,我将在后台运行。
使用ntpdate似乎太不稳定,无论如何都不推荐(我偶尔会遇到“没有服务器可用的错误”,我认为主要是由于与 ntp 服务器的差异,而不是无法访问 ntp 服务器)。然而,一件好事ntpdate是它有一个选项-p可以让我缩短将时间设置为仅毫秒(当它工作时)所需的时间。
使用sudo ntpd -gq,如前面问题中所建议的,似乎使时钟同步更可靠,但在我的机器上至少需要 7-8 秒,大概是因为ntpd在中间睡眠时间中采集了多个样本。更糟糕的是,ntpd在成功退出之前通常会挂起几分钟。我不确定为什么会发生这种情况,因为 ntp 服务器可以访问并在整个时间跨度内响应请求。
因此,我正在寻找一种方法,希望能够加快使用 同步机器时钟所需的时间ntpd -gq,并且我愿意牺牲几毫秒的初始时钟精度以实现更快的时钟同步。我愿意做出这种牺牲的原因是同步是我每天运行多次的引导程序的一部分,每次运行 ntp 等待 8 秒到几分钟都会减慢进程的速度(到点我别无选择,只能接受ntpdate's 快速但不推荐和不可靠的行为)。
有没有办法实现可靠的快速性能ntpd?
编辑:这是我的 ntp.conf (如果您想知道 的位置server,它是在剥离所有现有服务器后以编程方式附加到文件中的):
# /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help
driftfile /var/lib/ntp/ntp.drift
# Enable this if you want statistics to be …Run Code Online (Sandbox Code Playgroud) ntp ×1