web-dev-qa-db-ja.com

NTPそれがすぐに設定しない場合、時計を調整するのにどれくらい時間がかかりますか?

SNTPを使用してDebianベースのシステムを同期しています。 SNTPには、クロックを設定する2つの方法があります。

-s, --settod     Set (step) the time with settimeofday().
-j, --adjtime    Set (slew) the time with adjtime().

Slewメソッドは、検出されたオフセットがゼロになるまでローカルシステムクロックを少しずつ調整します。旋回は主に、時間的に遅れた時計にひどく反応するプロセスを混乱させないために行われます。

ステップメソッドは、時計を瞬時に設定します。

時間の回転に関して、SNTPがこれを完了するのにどのくらいの時間がかかりますか?

システムをポーリングして、まだスルーが進行中であるというフィードバックを受け取る方法はありますか?

5
captcha

ステップメソッドは、時計を瞬時に設定します。 SNTPが回転を完了するのにどのくらいの時間がかかりますか?

私は[〜#〜] s [〜#〜] NTPソリューションの経験がないので、この点で本格的なNTP)と変わらないと仮定します。前者に関しては、2つのターンキー制限を使用します:128 msのステッピングと500 ppm(496から512 ppm)のロックとスルーイングです。つまり、128 msの最大許容オフセットは、最大スルーレート512 ppmで補正されます。 250秒(4.17分)の問題です。ただし、実際には、目標時間に近づくと旋回速度が徐々に低下し、計算された通常の補正速度まで低下するため、これにはおそらく少し時間がかかります。

システムをポーリングして、まだスルーが進行中であるというフィードバックを受け取る方法はありますか?

ストックntptimeユーティリティを試してください。カーネルに直接クエリを実行し、ntpdが実行されていない場合でも機能します。もちろん、adjtime()が内部でntp_adjtime()を呼び出すことを前提としています。

3
Anton Samsonov
_man adjtime

.
.
.

If the adjustment in delta  is  positive,  then  the  system  clock  is
speeded  up by some small percentage (i.e., by adding a small amount of
time to the clock value in each second) until the adjustment  has  been
completed.   If  the adjustment in delta is negative, then the clock is
slowed down in a similar fashion.
_

したがって、カーネルは時間調整を毎秒管理し、調整のサイズはadjtime(3)呼び出しに渡されるstructに渡される値のサイズに依存します。興味深い点は、LinuxがRFC1305(NTPバージョン3)に基づくadjtimex(3)を使用していることです。セクション5では、このタイムスキューの管理方法について詳しく説明します。

1
Drav Sloan