AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 129112
Accepted
cjs
cjs
Asked: 2010-04-04 13:24:20 +0800 CST2010-04-04 13:24:20 +0800 CST 2010-04-04 13:24:20 +0800 CST

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

  • 772

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

我该如何处理才能让 ntpd 正常工作?

time ntpd
  • 5 5 个回答
  • 3521 Views

5 个回答

  • Voted
  1. Best Answer
    cjs
    2010-04-04T15:02:52+08:002010-04-04T15:02:52+08:00

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

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

    • 7
  2. mctylr
    2010-04-04T21:03:13+08:002010-04-04T21:03:13+08:00

    问题可能是几个时钟或定时器之一特别不准确或可能有缺陷的振荡器或定时器/时钟(包括 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/的公共服务器,最好位于您所在的省/州或至少国家/地区。

    • 5
  3. cjs
    2010-04-04T13:27:56+08:002010-04-04T13:27:56+08:00

    我目前的技巧是从 root 的 crontab 每分钟运行一次 ntpdate。这将时间每分钟向后移动不到一秒。我对这个解决方案不太满意。但是,它确实证明了漂移的一致性:

    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
    
    • 0
  4. Beel
    2010-04-04T17:32:22+08:002010-04-04T17:32:22+08:00

    您可以编辑配置文件(通常是 /etc/ntp.conf)来设置一些有用的东西,例如 minpoll:

       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.
    
    • -1
  5. Ricardo Pardini
    2010-04-05T19:26:16+08:002010-04-05T19:26:16+08:00

    尝试从 ntpd 的命令行选项中删除“-g”选项。

    • -1

相关问题

  • 在 NFS 文件服务器上获取不规则时间戳

  • 为什么我的 Ubuntu Server VPS 上的时间搞砸了?

  • 时间漂移

  • 让 Windows Vista 使用我们的域服务器的时间

  • Windows Server 无法可靠地同步 NTP 时间

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve