🐙

ntpq -p(chronyc sources) コマンドの見方

2020/09/23に公開

Linux/Unix で時刻同期のためにntpdchronyを設定、起動してもすぐには同期されない。
同期進捗や状態を確認するにはntpq -pコマンドを実行する。
chronyの場合はchronyc sourcesと状態確認コマンドが別にある。

$ ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*ntp-b2.nict.go. .NICT.           1 u    1   64  377   91.074   20.475  82.456
 LOCAL(0)        .LOCL.          10 l   57   64  377    0.000    0.000   0.001

指定したNTPサーバ―と同期が開始されれば、"remote" 列の指定サーバーに "*" がつく。
複数設定している場合には、同期可能なサーバーに "+" がつく。

項目 説明
refid 参照しているサーバーの、更に上位のNTPサーバ。
st stratum番号、サーバーが第何階層か示す。
when 前回サーバーを参照してから経過した秒数。pollに達すれば再度参照する。
poll 参照する間隔(秒数)。
reach 過去8回の参照結果。同期したした場合1、同期しなかった場合0。8進数で表示されており、毎回同期されると377(8進数)となる。つまり11111111(2進数)。
delay ポーリングインターバルの遅延見積もり(単位:ミリ秒)
offset NTPサーバとのずれ(ミリ秒)
jitter NTPサーバがどのくらい正確なのかを示す指標。値が小さいほど正確。

時刻の同期には時刻のずれを即座に修正するstep方式と時刻の進み具合をずらしていくことで、少しずつ時刻を合わせていくSlew方式があり、ntpdchronyはSlew方式になる。
そのために、ntpq -pコマンドで同期されるまで見守る必要がある。

もしシステムや運用的に問題がなければntpdateを実行して即座に修正することも可能。
ntpdateを実行するする場合はntpdなどは停止する必要がある。

$ sudo service ntpd stop
ntpd を停止中:                                             [  OK  ]
$ ntpdate ntp.nict.jp
30 Apr 04:50:51 ntpdate[27842]: step time server 133.243.238.244 offset -6.239400 sec
$ sudo service ntpd start
ntpd を起動中:                                             [  OK  ]

Discussion