web-dev-qa-db-ja.com

AMD Athlonの過度のクロックドリフトにより、ntpdがクロックを同期できなくなります

32ビットUbuntu9.10(i686 2.6.31-20-汎用カーネル)を実行しているAMD Athlon XP-2500 +ホスト(シャトルMN31マザーボード、nForce 2 IGP + MCP-Tチップセット)を持っています。残念ながら、クロックドリフトが非常に悪いため(毎分1秒近く進む)、ntpdはマシンの同期を維持できないようです。

Ntpdを機能させるために、これにどのように対処しますか?

4
cjs

解決策は、adjtimexパッケージを使用して、各カーネルティック中に実際に経過した時間をカーネルに通知することです。アイデアが現実と異なる場合、システムクロックはより速くまたはより遅く実行されます。 Making NTP Work on Hardware with Large Clock Drift :から引用します。

インストールされると、パッケージは通常adjtimexconfigコマンドを実行します。これにより、70秒程度の期間にわたってシステムクロックがハードウェアリアルタイムクロックと比較され、システムクロックがどれだけ速いか遅いかが判断されます。次に、-tオプションを指定してadjtimexコマンドを実行し、「tick」パラメーターを設定します。これは、カーネルのティックごとにクロックが進むマイクロ秒数です。また、/ etc/default/adjtimexファイルをこの情報で更新して、再起動後も保持されるようにします。

7
cjs

問題は、いくつかのクロックまたはタイマーが特に不正確であるか、オシレーターまたはタイマー/クロック(RTCを含む)がパッシブである可能性があります。コンポーネント(クォーツクリスタル、および関連するコンデンサ)。これが原因である場合、正確な時間が重要である場合は、完全に回避できない可能性があります。

マザーボード用のnVidianForce2チップセットは 非常に不安定であることが知られています です。 APICおよびACPI、 可変速度プロセッサ 、および フロントサイドバス(FSB)スペクトラム拡散(SS) 発振器/クロックの問題が精度に影響を与える可能性もあります。潜在的なソフトウェア(カーネル)の問題の1つは、2.6.xカーネルの一部のバージョンにあります TSC(タイムスタンプカウンター)周波数の誤検出 一部のAMDプロセッサーは、プロセッサーのコアクロック速度に基づいてTSCを調整します( IntelプロセッサのSpeedStepと同様の省電力)。

まだ読んでいない場合は、NTPのドキュメントで NTPの問題のトラブルシューティング を確認してください。

上記のいずれもクロックの不安定な動作を軽減しない場合は、 adjtimexおよびNTP を使用して手動で調整できます。 Ubuntuの既存のNTPドリフトファイル/var/lib/ntp/ntp.driftを必ず削除してください。他のUnix/Linuxシステムでは/ etc/ntp /にある可能性があります)、またはntp.confのエントリ。

明らかなことを述べてしまったことをお詫びしますが、NTPに3つまたは4つの到達可能NTPサーバーが含まれていることを確認してください_構成ファイル(通常は/etc/ntp.confなど)。そして、あなたに「近い」(公共の)サーバーを使用してください。ほとんどのISPまたはネットワークプロバイダーは、独自の内部NTPサーバーへの無料アクセスを提供していますそれを使用してください。それ以外の場合は、 http://pool.ntp.org/ のパブリックサーバーを使用します。できれば、州/州または少なくとも国に配置してください。

5
mctylr

私の現在のハックは、rootのcrontabから1分に1回ntpdateを実行することです。これにより、時間が1分ごとに1秒弱戻ります。私はこの解決策にあまり満足していません。ただし、ドリフトの一貫性を示しています。

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
cjs