MASAOKA

アスペルガー的発想からの独り言から、進歩しました。 https://sns.masaoka.jp/

閏秒

| 0件のコメント

謹賀新年
happy new year!

元旦そうそう、今日は、普段の日より、1秒長い日

日本の場合は、午前8時59分60秒があった。
つまり、うるう秒調整だ。

http://www.nict.go.jp/press/2016/07/08-1.html

この うるう秒というのが、くせ者で、コンピュータによっては、過去おかしくなったことがある。

Windowsシステムの場合は、かなりいい加減で、1秒ずれても、動作に影響がない。
つまり、60秒は、カウントできず、1秒の誤差になるが、NTPサーバーで、正常な時刻に補正されるという
他力本願的

Windows Time サービスにおいては、設計上、1 秒などの僅差の時刻差異を発生させないように常に保つことはできません。

SQLサーバーはというと、うるう秒を日付データ型として扱った場合
範囲外の値、変換が失敗する エラーになる。

早い話が、最初から、うるう秒は、対応する気がまったくない。

そんな細かい精度を要求する基幹システムでは、使わないというのが、前提らしい。

linuxはというと

linuxカーネル2.6-22 以降、3.5-rc7 未満のカーネルは、バグがあって
ntpサーバーと、時刻同期を行っていて、上位のntpサーバーが、うるう秒情報を送信してきて
STEPモードで、動作させている場合問題が発生

CPU 使用率がほぼ 100% に上昇する。

日本標準時プロジェクトが運営している NTP サーバ (ntp.nict.go.jp)
mfeed が運営する NTP サーバ (ntp.jst.mfeed.ad.jp)
国内で公開されている大半の NTP サーバは、うるう秒に関する情報を送信してきます。

NTP プロトコルでやりとりされる情報のうち、うるう秒の発生を予告する情報(Leap Indicator)の値が変化する

うるう秒が挿入される (23:59:59 → 23:59:59 → 00:00:00 とすることで、1秒遅れさせる)

http://jjy.nict.go.jp/QandA/reference/leapsec-addendum2012.html#q8

ntpd には動作モードが2つあり、時刻の補正を出来る限り即時で適用する STEP モードと、システムに影響がでないように、出来る限り小さい単位での補正を長時間掛けてゆっくりと行って時刻のずれを補正する SLEW モードがあります
うるう秒の補正では、1秒という大きな単位でシステム時刻が補正されるため、STEP モードの場合に影響が出てしまいます

http://ringeye.jawfish.org/~ori/misc/leapsecond-20120701.html

もし、CPUの使用率が100%になっても

date -s “LANG=C date エンターキー

で、直ります。

コメントを残す

%d人のブロガーが「いいね」をつけました。