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

이것은 여전히 ​​드리프트하는 것처럼 보이지만 하루에 약 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.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

눈에 띄는 드리프트 없이 약 하루 동안 실행되었습니다.

내 질문은 다음과 같습니다

1) 이 웹사이트에 따르면http://kb.vmware.com/selfservice/microsites/search.do?언어=en_US&cmd=displayKC&externalId=1006427divider=10 clocksource=acpi_pm요구 사항은 RHEL 5.3에서 제거되었는데, RHEL 5.8에서 상황이 개선되는 이유는 무엇입니까?

2) 내가 변경한 커널 매개변수는 어떤 영향을 미치나요?

3) 드리프트는 얼마나 정확합니까 /etc/adjtime?

hwclock4) ntp가 작동할 때 업데이트되도록 설정할 수 있나요 ?

5) 내가 하려는 일을 달성하는 더 좋은 방법이 있습니까?

감사해요

답변1

다른 커널을 사용해 볼 수도 있습니다. 사용자 정의된 커널에는 타이밍 문제가 있을 수 있습니다.

관련 정보