私は最近、カスタム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
?
hwclock
4)ntpが動作しているときに更新するように設定できますか?
5)私がやろうとしていることを達成するより良い方法はありますか?
ありがとう
答え1
別のカーネルを試してみることもできます。カスタマイズされたカーネルにはタイミングの問題がある可能性があります。