Linuxでハードウェアクロックを使用する

Linuxでハードウェアクロックを使用する

私は最近、カスタム2.30.9カーネルを使用して5.4から5.8にアップグレードした以前のバージョンのRHELを使用しています。

外部タイムソース(NTPなど)を使用して制御しないと、システムクロックが大きく(> 5秒/日)ドリフトする可能性があります。

BIOSのハードウェアクロックがより正確に見えます(<1秒/サイクル)。

利用可能なLinuxボックスがいくつかあります。確認すると、/etc/adjtimeハードウェア、OS、およびアプリケーションが同じ複数のコンピュータで、ドリフト測定値が0.000004、-0.000050、10.000107、および-0.000234秒/日であることがわかります。

外部タイムソースが利用できない場合は、クロックドリフトを最小限に抑える必要があります。

さまざまなカーネルブートオプションを試しましたが、成功率はさまざまでした。

初期カーネル設定ラインは次のようになります。/boot/grub/grub.conf

kernel /vmlinuz-2.6.30.9 ro root=LABEL=/ pmtr=0x608 acpi_pm_good clocksource=acpi_pm noapic ide_core.noprobe=1.1 mem=512M ramdisk_size=262144

クロックソースファイルには以下が含まれます。

cat /sys/devices/system/clocksource/clocksource0/available_clocksource
tsc acpi_pm jiffies

cat /sys/devices/system/clocksource/clocksource0/current_clocksource
acpi_pm

毎日5秒以上漂流!

まず、HPETを有効にしてみました。

kernel /vmlinuz-2.6.30.9 ro root=LABEL=/ pmtr=0x608 acpi_pm_good hpet=enable clocksource=hpet noapic ide_core.noprobe=1.1 mem=512M ramdisk_size=262144

クロックソースファイルには以下が含まれます。

cat /sys/devices/system/clocksource/clocksource0/available_clocksource
tsc acpi_pm jiffies

cat /sys/devices/system/clocksource/clocksource0/current_clocksource
tsc

これはまだドリフトしているようですが、1日に約4秒です。

次にtscをオフにしようとしました:kernel /vmlinuz-2.6.30.9 ro root=LABEL=/ pmtr=0x608 acpi_pm_good notscdivider=10 acpi_pm_goodclocksource=acpi_pm noapic ide_core.noprobe=1.4 mem

クロックソースファイルには以下が含まれます。

cat /sys/devices/system/clocksource/clocksource0/available_clocksource
tsc acpi_pm jiffies

cat /sys/devices/system/clocksource/clocksource0/current_clocksource
acpi_pm

目立つドリフトなしで約1日間実行されました。

私の質問は次のとおりです

1) このウェブサイトによるとhttp://kb.vmware.com/selfservice/microsites/search.do?言語=en_US&cmd=displayKC&externalId=1006427このdivider=10 clocksource=acpi_pm要件はRHEL 5.3から削除されましたが、RHEL 5.8で状況が改善されるのはなぜですか?

2)私が変更したカーネルパラメータはどのような影響を与えますか?

3)ドリフトはどれくらい正確ですか/etc/adjtime

hwclock4)ntpが動作しているときに更新するように設定できますか?

5)私がやろうとしていることを達成するより良い方法はありますか?

ありがとう

答え1

別のカーネルを試してみることもできます。カスタマイズされたカーネルにはタイミングの問題がある可能性があります。

関連情報