システム環境設定/日付と時刻/日付と時刻を自動的に設定について

掲題の内容について2つほど疑問があります。
Apple DiscussionsのHomeで「日付と時刻を自動的に設定」を検索しても該当する質問が過去に無かったようですので、新規にトピックを挙げさせて頂きます。
疑問1
システム環境設定→日付と時刻の、「日付と時刻を自動的に設定」にチェックをいれておくと、時刻を自動設定してくれますが、この機能はいつのタイミングで働くのでしょうか?
console.logを見ていると、自分でシステム環境設定→日付と時刻と開いていったときには、設定しているタイムサーバーにアクセスしているようですが...
疑問2
OS 9のころは、コントロールパネル内の「定期的に設定」という項目ででタイムサーバーへ見に行く間隔を自分で設定できたのですが、OS X Tigerではその機能が見当たりません。私の探し方が悪いのでしょうか? Windows XPでは1週間間隔で固定で、レジストリを変更しない限り間隔を変えることはできないですが、OS Xならもっとスマートに変更できるはず、と思っているのですが...

投稿日 2007/08/11 20:14

返信: 28

2007/08/13 14:19 Community User への返信

時間のズレは、ntpd が起動したそのときに検出します。このときのずれに応じて、問い合わせの時間間隔が決まります。そしてずれが、自動的に、少しずつ無くなるように合わせられてゆきます。ある程度合うようになると問い合わせの時間間隔は長くなってゆきます。といっても1時間程度の間隔では問い合わせます。なので、起動した直後にネットに繋がってないと、このシステムはうまく働かない可能性があります。そのときは、ネットに繋がった状態で、時間合わせをするのチェックを外して、またチェックを入れれば、そのときに、ntpd が再起動して、ntpdate の時間合わせ(これは、どれだけずれていようと、即合わせられる。ただし、ネットで問い合わせに必要な時間の分、そんなに大きはないですが数秒程度、は必ずずれます)から実行されますので、時間はうまく合うはずです。ntpd による時間合わせは、ネットでの時間合わせの遅れも自動的に補正される優れものです。本当は、時間合わせをするサイトを複数登録します。すると、各サイトからの時間のずれから、正しい時間の遅れを瞬時に算出して、それを考慮して補正されてゆきます。時間合わせのサイトが一つしか登録されてないと、この問い合わせの遅れの補正量を算出するのに時間がかかります(OSX では、通常、一つしか設定してない)ので、落ち着くまで割合時間がかかります。落ち着けば1秒以下の精度で正しい時間になります。すると、あとは割合長時間問い合わせをしないようになります。

2007/08/13 14:26 Community User への返信

> ntpq: read: Connection refused
> となります。
ntpd が動いてないのでは?
ntpq の問い合わせが正しく動作すれば、
ntpq> pe
remote refid st t when poll reach delay offset jitter
==============================================================================
sng-ntp.asia.ap 0.0.0.0 16 u - 68m 0 0.000 0.000 4000.00
とか出てくるはずです。最初のサイトは、設定している時間合わせのサイト(今の場合、apple asia)です。
「日付と時刻を自動的に設定」にチェックを入れると、即座に時刻はntpサーバーと同期されるのは、ntpd が合わせているのではなくて、ntpdate が合わせるものです。これ場合は、下の方(上?)にも書きましたが、ネット経由で時間合わせをする問い合わせの時間遅れが考慮されないものです。ntpd はその補正も行いますが、ずれすぎる(1000秒以上)と自動では動かなくなります。

2007/08/13 14:34 Community User への返信

 有難うございます。
自分のマックの ntp.confを確認したら
minpoll 12 maxpoll 17
となっていました。4096秒から約36時間の間で適当に調整するということですね。

2007/08/13 16:26 Community User への返信

品川地蔵さん、情報ありがとうございました。
自分のCubeも同じように設定されていました。
私は上のmsg # 1.1 で「最初は64秒おき、安定すると1024秒おき?」と書きましたが、これはLinuxとかFreeBSDとかの設定のようですね。この間隔にするにはminpoll 6 maxpoll 10だそうですし。
最短でも4,096秒(68分16秒)最長だと131,072秒(36時間24分32秒)というのは、ちょっと間隔が広いかな?という気もしますが....OS X Tigerの標準設定だと、Appleのタイムサーバーを見に行く設定ですし、そのリストに出ているタイムサーバーは、アメリカ合衆国・ヨーロッパ・アジアの3つしかないですから、世界中のMacユーザーがアクセスしてくることを考えたら仕方ないのでしょうか。
http://www.miko.org/%7Etatyana/tech/OSX/Beginning_OSX.html#ntpd
http://docs.info.apple.com/article.html?artnum=303731-ja
この2つのサイトの記述を読むと、一般家庭でMacをこまめにスリープさせるような使い方をしていると、同期はなかなかされないのかな?と思えてきます。

2007/08/13 21:23 Community User への返信

はにさん、ありがとうございます。
# ニックネームの下に表示されるLevel数が3〜4と高い方が何人も出ていらして、ありがたいやら恐縮するやら....。(^^;;;; 色々と勉強になります。ありがとうございます。
> ntpd が動いてないのでは?
アクティビティモニタを表示させながら実験してみました。
結論はおっしゃる通りでした。
システム環境設定→日付と時刻の、「日付と時刻を自動的に設定」のチェックをON・OFFする度に、アクティビティモニタの方では連動してntpdが現れたり消えたりしました。(タイムラグ1秒前後)
ntpdが動いている状態で手動で時計を(わざと)ずらすというのは、OS XのGUIからはできないのでしょうか。abcdefgさんのおっしゃる、
> 試しに、手動で時間をずらして、ターミナルで
> ntpq -p
> で収束の具合を観察してみる
というのを試すには、ntpdが動いている状態で手動で時間をわざとずらすことができなければいけないようですが、その方法がまだ分からないでいます。
# いや、実際に試せたからといって、自分の理解が進むだけで他に何か実利があるわけではないですが(^^ゞ

2007/08/14 09:51 Community User への返信

>その方法がまだ分からないでいます。
かなり昔のことなので、MacOSXで使えるかどうか不明ですが。
一旦、手動で、少し狂った時間を設定し、その後、自動にする。又は、
自動になっている状態で、ターミナルのdateコマンドにより少し時刻をずらす。dateコマンドの使い方は、"man date"あたりで調べて下さい。
基本的なアルゴリズム(予想)としては、時間差とRTT(Round Trip Time)を計測、RTTを考慮して内蔵タイマを微調整、の繰り返しでしょうね。誤差が小さくなれば、計測間隔を長くし、誤差が大きくなれば、計測間隔を短くする。複数のタイムサーバを参照できれば、GPSと同じでより精度が上がります。特に難しい制御ではないです。

2007/08/14 10:43 Community User への返信

> ntpdが動いている状態で手動で時間をわざとずらす
例えば、2007年8月14日午後1時45分 に日付を強制的に変更するには、
ターミナルで、下のコマンドを入力した後、return キー を押し、
管理者のパスワードを入力して、再度 return キー を押します。
sudo date 0814134507
        ↑
これは 月月日日時時分分年年 になってます

2007/08/14 14:09 Community User への返信

> チェックをON・OFFする度に、アクティビティモニタの方では連動してntpdが現れたり消えたりしました。
ntpd が起動しても1秒しか動いてないということです。時間を強制的にずらして、、、の前にntpd が正常に動くようにしないといけません。
コンソールでログをクリックすると、 system.log が出てきます。これをクリックするといろいろなメッセージが記録されています。これを見ると、ntpd も何かメッセージを出していると思います。そこにはなんと出てますか?
ntpd が動かないというのは、なにか、/etc/ntp.conf に問題があるか、設定している時間サーバ名やアドレスが間違っている、実は動いてないとかではないかと思いますが。

2007/08/14 21:09 Community User への返信

abcdefgさん、ありがとうございます。
ご紹介頂いたdateコマンドで、ntpdが動いている状態で、強制的に手動で時間をずらすことができました。
man dateでdateコマンドの使い方を調べたところ、同じ日付で時間を変えるだけならdate 2100(21:00に設定する場合)でOKでした。
収束していく様子も、多分これがそうだ、というのが見られました。(別途書き込みます)

2007/08/14 21:13 Community User への返信

ぽん太さん、ありがとうございます。
sudoコマンドが必要だというのが参考になりました。
(考えてみれば当たり前かもしれませんが)
試しにsudoコマンド無しで試してみたら、コマンドが受け付けられませんでした。

2007/08/14 22:04 Community User への返信

はにさん、ありがとうございます。
> ntpd が起動しても1秒しか動いてないということです。時間を強制的にずらして、、、の前にntpd が正常に動くようにしないといけません。
はい、はにさんを始めとしてみなさんから頂いたアドバイスをもとに、一昨日から暇を見て色々試した結果、ntpdを動かすことができました。
ntp.confに以下のように書きました。

server 210.173.160.87 minpoll 6 maxpoll 10
server 210.173.160.57 minpoll 6 maxpoll 10
server 210.173.160.27 minpoll 6 maxpoll 10
server XXX.XXX.XXX.XXX minpoll 6 maxpoll 10
server XXX.XXX.XXX.XXX minpoll 6 maxpoll 10
#time.apple.com
server 17.254.0.31 minpoll 6 maxpoll 17
#time.euro.apple.com
server 17.72.133.42 minpoll 6 maxpoll 17
#time.asia.apple.com
server 17.82.254.7 minpoll 6 maxpoll 17


※伏せ字にしてあるのは、私が加入しているプロバイダの非公開ntpサーバーです。
 プロバイダのサポートによれば利用は自由だが無保証とのこと。
※ポーリングの間隔をApple設定値のminpoll 12 maxpoll 17から、各種UNIXで
 よく使われる設定値minpoll 6 maxpoll 10に変えています。
※システム環境設定→日付と時刻を開いて「日付と時刻を自動的に設定」の
 チェックの有無を変更したりすると、ntp.confが書き換えられるようで、
 Appleの設定値に戻るようです。

このようなntp.confを作ったあとMacを再起動し、起動して1分くらい後にnptq -pを実行すると以下のような結果になりました。

remote refid st t when poll reach delay offset jitter
==============================================================================
ntp3.jst.mfeed. fs-monntp2.mfee 2 u 18 64 1 27.706 -6.130 0.008
ntp2.jst.mfeed. fs-monntp2.mfee 2 u 13 64 1 22.906 -3.004 0.008
ntp1.jst.mfeed. fs-monntp2.mfee 2 u 25 64 1 20.599 -2.864 0.008
XXXX.XXX.XX.XXX ntp-a3.nict.go. 2 u 12 64 1 15.501 -0.185 0.008
XXXX.XXX.XX.XXX ntp0.jpix.ad.jp 2 u 13 64 1 22.992 -4.545 0.008
time.apple.com a17-106-100-13. 2 u 25 64 1 118.862 1.741 0.008
time.euro.apple time2.euro.appl 2 u 11 64 1 278.065 -4.400 0.008
sng-ntp.asia.ap time1.euro.appl 2 u 17 64 1 131.096 -3.028 0.008


ntpサーバーと同期がとれた直後なので、pollの値も最短の64秒でした。
これが安定してくると、以下のようになりました。

remote refid st t when poll reach delay offset jitter
==============================================================================
*ntp3.jst.mfeed. san-ntp1.jpnap. 2 u 563 1024 377 15.328 -8.300 0.767
+ntp2.jst.mfeed. san-ntp1.jpnap. 2 u 98 1024 377 15.447 -8.894 1.226
+ntp1.jst.mfeed. san-ntp1.jpnap. 2 u 421 1024 377 15.341 -8.733 1.651
+XXXX.XXX.XX.XXX ntp-a3.nict.go. 2 u 80 1024 377 15.962 -8.580 0.985
+XXXX.XXX.XX.XXX ntp0.jpix.ad.jp 2 u 54 1024 377 15.482 -9.140 1.118
-time.apple.com a17-106-100-13. 2 u 432 1024 377 117.076 -9.725 2.173
-time.euro.apple time2.euro.appl 2 u 87 1024 377 297.227 -4.037 86.209
-sng-ntp.asia.ap 17.254.0.49 2 u 77 1024 377 118.250 -14.673 11.532



その後さらにdateコマンドで手動でわざと時刻を1分遅らせた直後は、以下のように
なりました。

remote refid st t when poll reach delay offset jitter
==============================================================================
ntp3.jst.mfeed. san-ntp1.jpnap. 2 u 662 1024 377 15.681 160195. 160204.
ntp2.jst.mfeed. san-ntp1.jpnap. 2 u 99 1024 377 15.601 60470.6 60479.5
ntp1.jst.mfeed. san-ntp1.jpnap. 2 u 422 1024 377 15.529 60470.7 60479.4
XXXX.XXX.XX.XXX ntp-a3.nict.go. 2 u 80 1024 377 15.175 60470.6 60479.1
XXXX.XXX.XX.XXX ntp0.jpix.ad.jp 2 u 55 1024 377 15.625 60470.1 60479.3
time.apple.com a17-106-100-13. 2 u 431 1024 377 117.357 60470.8 60480.6
time.euro.apple time2.euro.appl 2 u 89 1024 377 287.048 60467.4 60471.4
sng-ntp.asia.ap 17.254.0.49 2 u 78 1024 377 137.228 60468.0 60482.7



つづく

2007/08/14 22:07 Community User への返信

つつき
サーバー名の先頭についていた*や+や-のマークが外れ、offsetやjitterの値が大きく
なっています。この段階ではまだsystem.logにも何もntpdに関するログは何もありません
でした。Macの時計の表示も時報から60秒遅れたままでした。それから20分弱で、

remote refid st t when poll reach delay offset jitter
==============================================================================
ntp3.jst.mfeed. san-ntp1.jpnap. 2 u 2 64 1 15.510 -7.087 0.008
ntp2.jst.mfeed. san-ntp1.jpnap. 2 u 13 64 1 14.757 -1.419 0.008
ntp1.jst.mfeed. san-ntp1.jpnap. 2 u 6 64 1 15.306 -4.990 0.008
XXXX.XXX.XX.XXX ntp-a3.nict.go. 2 u 9 64 1 15.085 -3.671 0.008
XXXX.XXX.XX.XXX ntp0.jpix.ad.jp 2 u 1 64 1 15.055 -8.158 0.008
time.apple.com a17-106-100-13. 16 u 1154 64 0 0.000 0.000 4000.00
time.euro.apple time2.euro.appl 2 u 10 64 1 288.079 -4.301 0.008
sng-ntp.asia.ap 17.254.0.49 2 u 12 64 1 114.983 -9.119 0.008


のようにpollの値が最小値の64秒に戻りました。この時までにはMacの時計の表示も
時報にほぼ合い、system.logにもntpdが時刻を修正した様子が書き込まれていました。

ntpd[146]: time reset 60.480220 s



その後はまたpollの値が徐々に増えていき、時刻を手動でずらしてから30〜40分後には
サーバー名の前にもまた*や+や-のマークがつきました。今はpollの値も1024秒で安定
しています。

remote refid st t when poll reach delay offset jitter
==============================================================================
*ntp3.jst.mfeed. fs-monntp2.mfee 2 u 434 1024 377 16.352 7.285 9.287
-ntp2.jst.mfeed. fs-monntp2.mfee 2 u 437 1024 377 22.906 2.514 3.571
-ntp1.jst.mfeed. fs-monntp2.mfee 2 u 479 1024 377 32.300 -1.772 0.622
+XXXX.XXX.XX.XXX ntp-a3.nict.go. 2 u 465 1024 377 15.629 6.223 0.197
+XXXX.XXX.XX.XXX ntp0.jpix.ad.jp 2 u 883 1024 377 15.867 6.457 0.762
-time.apple.com a17-106-100-13. 2 u 948 1024 377 141.190 13.556 0.928
-time.euro.apple time2.euro.appl 2 u 625 1024 377 350.837 -28.065 27.682
-sng-ntp.asia.ap 17.254.0.49 2 u 462 1024 377 133.893 0.820 2.197



色々試したおかげで、アップルのntpサーバーはstratum 2のサーバーであることも分かりました。一般ユーザー向けとしては十分な精度を持っているのだろうと思います。
(日本の外にあるせいかネットワーク的に距離が少々遠いようで、delay値が大きめになる傾向もあるようにも感じました。)

また、Macの時計の制御の方法も、 msg # 1.1.1.2.1.1.1でabcdefgさんが書かれた通りなんだろうな、という印象を持ちました。いろいろ読んだサイトによると、あるしきい値以下の場合は1発で時刻を補正し、しきい値以上の場合はOSの時計上の1秒を実際の1秒より少しだけ短く/長く調整し時間をかけて時刻を同期させ、さらに大きな別のしきい値以上の場合はハードウェア異常と判断して調整をユーザーにゆだねる、と書いてありました。

いろいろ勉強になりました。ありがとうございました。

2007/08/24 17:22 Community User への返信

> アジアのタイムサーバがビジーかも。
しばらく設定を変更して観察してみましたが、結局そういう結論のようです。
別のntpサーバに変更したところ、システム環境設定を立ち上げなくてもこまめに同期をとってくれます。
アジアのタイムサーバにしておくと、console.logに
ntpd[184]: sendto(17.83.254.7): Can't assign requested address
と出るばかりで同期がうまくいきません。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

システム環境設定/日付と時刻/日付と時刻を自動的に設定について

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。