• 締切済み

Linuxでの大きな時刻ずれについて

Linux(Vine 4.1)で、ntpdateとhwclockを使って、毎日時刻あわせをしています。 crontabはこんな感じです。 0 2 * * * /usr/sbin/ntpdate -s ntp1.jst.mfeed.ad.jp 1 2 * * * /sbin/hwclock --systohc ところが、毎日9700秒以上と、大幅に時計が狂ってしまいます。 syslog出力を抜粋するとこんな感じです。 Nov 28 23:17:22 step time server 210.173.160.27 offset -9757.742092 sec Nov 29 01:41:39 step time server 210.173.160.27 offset -1099.305344 sec Nov 29 01:57:54 step time server 210.173.160.27 offset -124.151414 sec Nov 29 01:59:44 step time server 210.173.160.27 offset -15.801794 sec Nov 29 23:17:25 tep time server 210.173.160.27 offset -9753.300387 sec Nov 30 01:41:38 tep time server 210.173.160.27 offset -1101.564751 sec Nov 30 01:57:56 tep time server 210.173.160.27 offset -124.151818 sec Nov 30 01:59:47 tep time server 210.173.160.27 offset -13.541277 sec Nov 30 23:17:23 step time server 210.173.160.27 offset -9757.256311 sec Dec 1 01:41:38 step time server 210.173.160.27 offset -1102.220379 sec Dec 1 01:57:56 step time server 210.173.160.27 offset -124.151101 sec Dec 1 01:59:46 step time server 210.173.160.27 offset -13.544078 sec adjtimexを使って、ticやfrequencyを変更して対応しようとしたんですが、 adjtimexコマンドの設定範囲を超えているほどのずれのようです。 hwclock --showで確認すると、hardware clockの方はずれていません。 ずれの原因と補正方法が推測できれば、教えていただきたいと思います。 よろしくお願いします。

みんなの回答

  • invalid
  • ベストアンサー率61% (67/109)
回答No.2

adjtimexで調整できるtickは9000-11000(通常10000)で ±1000×8.64秒/日=±8640秒/日の範囲であれば adjtimexで何とかいけるのではと思いましたが、 24時間で10000秒程ずれるのでは 調整できる範囲ではないですね。 経験したことがない数字なのではっきり言えませんが 拝見していてtickをこぼして遅れているような感じがしました。 ・いつ頃から発生しているのでしょうか  Vine4.1にあげてからとか?  ・LinuxがVMware/VirtualPCの中の仮想ホスト上で動作していることはないですか?  お使いの環境(マザーボードとか)は? ・kernel2.6.16を使っていると思われますが  "Losing some ticks... checking if CPU frequency changed."  というログがsyslogに残っていたりしませんか? ググるとclockspeedというツールで補正した例も出てきましたが。 根本原因を探ってからお使いになるほうが良いかと思います。 http://quox.org/tips/server/clockspeed.html

hama1969
質問者

お礼

回答大変ありがとうございました。 以下、引用させていただいて、情報を追加いたします。 > 経験したことがない数字なのではっきり言えませんが > 拝見していてtickをこぼして遅れているような感じがしました。 時計は、「遅れている」のではなく、「進んで」います。そして、朝2:00の ntpdateで一気に9700秒以上遅らせているという状況です。 > ・いつ頃から発生しているのでしょうか >  Vine4.1にあげてからとか?  マザーボードを変えてすぐにVine4.1を入れ、それからです。 > ・LinuxがVMware/VirtualPCの中の仮想ホスト上で動作していることはないですか? >  お使いの環境(マザーボードとか)は? 仮想ホスト上ではありません。 マザーボード: ASUS M2A-VM CPU: AMD (SocketAM2) Athlon X2 BE-2300 リテールBOX (45W) という環境です。 > ・kernel2.6.16を使っていると思われますが > "Losing some ticks... checking if CPU frequency changed." >  というログがsyslogに残っていたりしませんか? kernelのversionは、2.6.16-0vl68です。 /var/log/messagesを覗いてみましたが、ログは残っていませんでした。 > ググるとclockspeedというツールで補正した例も出てきましたが。 > 根本原因を探ってからお使いになるほうが良いかと思います。 > http://quox.org/tips/server/clockspeed.html 情報ありがとうございます。マザーボードを変えてからのことなので、ハードの問題なのかなあとも思うのですが、 原因を特定する方法がわからず、悩んでいます。 以上、引き続きよろしくお願いします。

  • A-Tanaka
  • ベストアンサー率44% (88/196)
回答No.1

たぶん、ntpサーバ指定している、サーバの時刻がずれているのだと思います。他の、ntpサーバに切り替えた方が良いような気がします。 ちなみに、これを書いている私のパソコンは、プロバイダーの一番近くのntpサーバを指定して時刻あわせをしていますが、ずれていません。 実験してみたところ、NICTやNAISTなんかのサーバはずれていないようです。

hama1969
質問者

お礼

回答ありがとうございました。 説明が不足していたかもしれませんが、ntpdateで時刻同期をかけたときには、時刻はちゃんと合っています。 毎朝2:00に合わせた時点では合っているのに、1日経つと勝手に9700秒ずれてしまう、という状況です。 システムクロックが何らかの影響でずれていっているように思えるのですが、直す方法がわかりません。 引き続きよろしくお願いします。

関連するQ&A