AMD Athlon 上的过度时钟漂移会阻止 ntpd 同步时钟

cjs*_*cjs 4 time ntpd

我有一台运行 32 位 Ubuntu 9.10(i686 2.6.31-20-generic kernel)的 AMD Athlon XP-2500+ 主机(Shuttle MN31 主板,nForce 2 IGP + MCP-T 芯片组)。不幸的是,它的时钟漂移似乎非常糟糕(它每分钟前进接近一秒),以至于 ntpd 无法保持机器同步。

我如何处理这个问题,以便让 ntpd 正常工作?

cjs*_*cjs 7

解决方案是使用 adjtimex 包让您的内核知道在每个内核滴答期间实际过去了多少时间。如果想法与现实不同,系统时钟会运行得更快或更慢。我引用了使 NTP 在具有大时钟漂移的硬件上工作

安装后,该软件包通常会运行 adjtimexconfig 命令。这将在 70 秒左右的时间内将系统时钟与硬件实时时钟进行比较,并确定系统时钟快多少或慢多少。然后它会运行带有 -t 选项的 adjtimex 命令来设置“tick”参数,这是时钟应该随着每个内核滴答而前进的微秒数。它还将使用此信息更新 /etc/default/adjtimex 文件,以便在重新启动时保留它。


mct*_*ylr 5

问题可能是几个时钟定时器之一特别不准确或可能有缺陷的振荡器或定时器/时钟(包括 RTC)无源组件(石英晶体和任何相关电容器)。如果这是原因,您可能无法完全解决它,如果准确的时间对您至关重要。

众所周知,用于主板的 nVidia nForce2 芯片组非常不稳定。APIC 和 ACPI、变速处理器前端总线 (FSB) 扩频 (SS)振荡器/时钟问题也有可能影响精度。一个潜在的软件(内核)问题是某些版本的 2.6.x 内核错误检测 TSC(时间戳计数器)频率,并且某些 AMD 处理器根据处理器的内核时钟速度调整 TSC(即为了省电,类似于 SpeedStep在英特尔处理器中)。

如果您还没有,请查看 NTP 文档以解决 NTP 问题

如果以上方法都不能减少时钟的不稳定行为,那么您可以使用adjtimex 和 NTP手动校准它。确保删除/var/lib/ntp/ntp.driftUbuntu 上任何现有的 NTP 漂移文件,可能位于 /etc/ntp/ 中的某些其他 Unix/Linux 系统)或 ntp.conf 中的条目。

很抱歉可能说明了显而易见的问题,但请确保您在 NTP 配置文件(通常或类似)中包含3 或 4 个可访问的NTP 服务器/etc/ntp.conf。并且请使用“靠近”您的(公共)服务器。大多数 ISP 或网络提供商都提供免费访问他们自己的内部 NTP 服务器的服务,请使用它。否则使用来自http://pool.ntp.org/ 的公共服务器,最好位于您所在的省/州或至少国家/地区。