ntpdate[20526]: step time server 218.45.21.199 offset -0.932912 sec
ntpdate[20549]: step time server 218.45.21.199 offset -0.932647 sec
ntpdate[20572]: step time server 218.45.21.199 offset -0.922805 sec
ntpdate[20597]: step time server 218.45.21.199 offset -0.949046 sec
ntpdate[20621]: step time server 219.117.196.238 offset -0.941480 sec
ntpdate[20650]: step time server 219.117.196.238 offset -0.925179 sec
ntpdate[20673]: step time server 219.117.196.238 offset -0.930992 sec
ntpdate[20698]: step time server 219.117.196.238 offset -0.949393 sec
ntpdate[20726]: step time server 219.117.196.238 offset -0.923139 sec
ntpdate[20751]: step time server 219.117.196.238 offset -0.933554 sec
minpoll, maxpoll
These options specify the minimum and maximum poll intervals for NTP messages, in seconds as a power of two.The maximum poll interval defaults to 10 (1,024 s), but can be increased by the maxpoll option to an upper limit of 17 (36.4 h). The minimum poll interval defaults to 6 (64 s), but can be decreased by the minpoll option to a lower limit of 4 (16 s). These option are valid only with the server and peer commands.
解决方案是使用 adjtimex 包让您的内核知道在每个内核滴答期间真正经过了多少时间。如果它的想法与现实不同,系统时钟会运行得更快或更慢。我引用了让 NTP 在具有大时钟漂移的硬件上工作:
问题可能是几个时钟或定时器之一特别不准确或可能有缺陷的振荡器或定时器/时钟(包括 RTC)无源组件(石英晶体和任何相关电容器)。如果这是您可能无法完全解决它的原因,如果准确的时间对您来说至关重要。
众所周知,用于主板的 nVidia nForce2 芯片组非常不稳定。APIC 和 ACPI、变速处理器和前端总线 (FSB) 扩频 (SS)振荡器/时钟问题也可能影响精度。一个潜在的软件(内核)问题是某些版本的 2.6.x 内核错误检测 TSC(时间戳计数器)频率,并且一些 AMD 处理器根据处理器的内核时钟速度调整 TSC(即为了省电,类似于 SpeedStep在英特尔处理器中)。
如果您还没有,请查看 NTP 文档以解决 NTP 问题。
如果以上都不能减少时钟的不稳定行为,那么您可以使用adjtimex 和 NTP手动校准它。确保删除
/var/lib/ntp/ntp.drift
Ubuntu 上任何现有的 NTP 漂移文件,可能位于 /etc/ntp/ 在某些其他 Unix/Linux 系统上)或 ntp.conf 中的条目。很抱歉可能会说明这一点,但请确保您在 NTP 配置文件中包含 3 或 4 个可访问的 NTP 服务器(通常
/etc/ntp.conf
或类似)。请使用“靠近”您的(公共)服务器。大多数 ISP 或网络提供商都提供对他们自己的内部 NTP 服务器的免费访问,请使用它。否则使用来自http://pool.ntp.org/的公共服务器,最好位于您所在的省/州或至少国家/地区。我目前的技巧是从 root 的 crontab 每分钟运行一次 ntpdate。这将时间每分钟向后移动不到一秒。我对这个解决方案不太满意。但是,它确实证明了漂移的一致性:
您可以编辑配置文件(通常是 /etc/ntp.conf)来设置一些有用的东西,例如 minpoll:
尝试从 ntpd 的命令行选项中删除“-g”选项。