我的服务器时钟出现了一些奇怪的问题 —— 它比正常情况快了约 10%。
该问题两天前就开始了,我没有对服务器进行任何特殊处理。
我尝试通过停止 ntpd 守护进程来关闭 ntp 更新。
看起来硬件时钟已被禁用。
→ sudo hwclock --show
select() to /dev/rtc to wait for clock tick timed out
- 服务器已超过 100 天未重启
- Linus 发行版是 Debian squeeze/sid
- ntpd 守护进程已关闭
- 服务器是 VPS,其他客户都没有遇到任何问题
- 我没有改变任何与时钟相关的软件
- 运行
sudo date -s "Sun Feb 5 00:30:15 CET 2012"
或sudo ntpdate -b prrr.se
,暂时修复该问题
我尝试使用 来测量偏移量ntpdate -b prrr.se
。这是结果
后5 秒
→ sudo ntpdate -b prrr.se
5 Feb 00:19:54 ntpdate[24137]: step time server 178.78.255.254 offset -1.179405 sec
后10 秒
→ sudo ntpdate -b prrr.se
5 Feb 00:20:04 ntpdate[24142]: step time server 178.78.255.254 offset -2.480711 sec
后20 秒
→ sudo ntpdate -b prrr.se
5 Feb 00:20:24 ntpdate[24149]: step time server 178.78.255.254 offset -4.680055 sec
谁能向我解释为什么会发生这种情况以及解决办法是什么?
答案1
重新ntpd
打开。它的工作是确定时钟运行的速度并应用适当的校正。
答案2
虚拟服务器的时钟非常不可靠,因为它们无法从 CPU 获得可靠的滴答声。它们甚至比物理机器中的时钟更糟糕。它主要取决于 VPS 所运行的虚拟机管理程序的负载,因此您可能会看到更多的漂移,因为物理服务器的负载增加了。
只需启用 NTPD,并将其指向一些 NTP 服务器。NTP 将确定您的时钟漂移速度,并将其减慢适当的量。它将定期监控和调整这些值,从而获得非常准确的时间。NTPD 守护程序占用的资源很少,而且非常有效,所以我建议直接启用它。
答案3
ntpdate 命令是一次性的。您希望运行的 ntpd 守护进程进行微小的调整。
# /etc/init.d/ntpd stop
# ntpdate time.nist.gov
# /etc/inid.d/ntpd start
# watch 'ntpq -pn'
注意 ntpq 输出左侧的符号。一旦同步完成,这些符号就会告诉你。