前回とった方法では、再起動するたびにtickの値が変動し、設定しなおさなければならないという事がありました。これは非常に面倒です。
このスクリプトを使うことによって自動で設定を行ってくれるようです。今回はtickじゃなくって周波数を変更?時計システムよく分からないんだよなぁ・・・お勉強して結果をまとめて見ます。
http://www.kobore.net/adjtimex.txt
今回はここで調べました。
もくじ
■Tick
-t val, -tick val
各々のカーネルtick割り込みのためのシステム時刻に追加さ
れるべきミリ秒の値をセットします。
一秒間に100tickとすると、valは、10000に近くなります。1
追加するごとに、システム時計は100ppm(8.64秒/日)ごとに
早くなります。tickの範囲は、インテルで9000-110000、ア
ルファで、900-1100です。
どうも、時計の増える速さを一秒間に1じゃなくって、増やしたり減らしたりすることによって誤差を調整するみたいです。
■frequency
システム時計周波数オフセットをnewfreqにセットします。
nwefreqは、プラスマイナス値が入力可能で、”-tick”を使う
より、もっと正確な調整ができます。値のスケールは、
newfreq = 1<<16 で、システム時計を1ppm 0.864秒/日進め
ます。従って、tick 10000 -frequency 6554600は、
tick10001 frequency 0と同じです。
newfreqの範囲は6553600…6553600で、プラスマイナス
100ppmの最大調整値が許されています。
時刻の調整に使う時計の周波数の誤差を追加したり減少させることで誤差を修正すると。
■つまり
大体はtickで調整して、細かいところはfrequencyを使って修正する、とそういう事で良いですか?
上のスクリプトもそういう感じみたいですね、よく分かりませんけど。
■実際に使ったけど・・・
Regulating system time... /sbin/adjtimex -t 13379 -f 3428286 adjtimex: Invalid a rgument for this kernel: USER_HZ = 100 (nominally 100 ticks per second) 9000 <= tick <= 11000 -33554432 <= frequency <= 33554432 done.
うわあああぁ(AA略
原因が究明できるまで,とりあえず元のスクリプトにしておきますです・・・_| ̄|○