CONFIG_RTC_SYSTOHC:カーネルでNTP同期オプションを使用する方法

CONFIG_RTC_SYSTOHC:カーネルでNTP同期オプションを使用する方法

カーネル3.10に次のオプションがあることがわかりました。CONFIG_RTC_SYSTOHC

Device Drivers -> RTC -> Set the RTC time based on NTP synchronization

ヘルプは次のように言います。

If you say yes here, the system time (wall clock) will be stored
in the RTC specified by RTC_HCTOSYS_DEVICE approximately every 11
minutes if userspace reports synchronized NTP status.

この機能の使い方を理解していません。これは、時間を同期するためにユーザースペースツール()が必要なくなることを意味しますかntpdate?これがを使用するのとどう違うのですかntpdate?使用するNTPサーバーをどこで指定しますか?

誰かがこれを明確にすることができますか?

ベストアンサー1

Linuxは、ハードウェアクロック(RTCとも呼ばれる)に関係なく、内部的に時間を節約します。これは、システムが稼働しているときは一度date(Linuxクロック)、実行中は別の時間hwclock(ハードウェア時計)が表示されることを意味します。

通常、コンピュータが起動したときhwclock -hctosys(。ntpdhwclock -systohc

システムがハングしたり、予期せず再起動した場合はどうなりますか?時計はハードウェアと同期しません。次回の起動時にハードウェアクロックが正しくないため、クロックエラーが大きくなる可能性があります。次回は、「システムをntpdate以前のように起動する必要がありますntpd。そうしないと、ntpd時刻が同期されない可能性があるためです。なぜなら、現在の時計と実際の時刻との間の差が大きすぎるからです」。このアプローチの問題は、それ自体が同期していないマシンと同期するとntpどうなりますか?これにより、正確な時間がわからなくなります。

したがって、これらすべてを避けるために維持することをお勧めします。正しい時間は常にハードウェアと同期されます。あなたが要求するカーネルオプションは、時間が実際にNTPと同期していることを確認することです(知っている方法があります...)。その場合は、その時間(システム時間とも呼ばれます)をLinux時間で定期的に同期します。ハードウェア時計なので、突然のシステムクラッシュを含む常に非常に正確です。

おすすめ記事