Usando o clock do hardware no linux

4

Estou usando uma versão antiga do RHEL que atualizei recentemente de 5,4 para 5,8 com um kernel personalizado 2.30.9.

O relógio do sistema flutua descontroladamente (> 5 segundos / dia), a menos que seja controlado usando uma fonte de tempo externa, como NTP.

O relógio do hardware no BIOS parece ser muito mais preciso (< 1 segundo / semana).

Eu tenho várias caixas de Linux disponíveis, e se eu inspecionar /etc/adjtime eu acho que o desvio é medido como 0.000004, -0.000050, 10.000107 e -0.000234 segundos / dia em máquinas diferentes com Hardware, SO & Aplicações.

Precisamos minimizar o desvio do relógio quando a fonte de horário externo não estiver disponível.

Eu tentei várias opções de inicialização do kernel com sucesso variável para melhorar as coisas:

Inicialmente, a linha de configuração do kernel em /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

Os arquivos da fonte de clocks contêm:

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

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

Isso flutua mais de 5 segundos / dia!

Primeiro, tentei ativar o 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

Os arquivos da fonte de clocks contêm:

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

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

Isso ainda parece estar à deriva, mas com apenas 4 segundos / dia.

Em seguida, tentei desativar o tsc:     kernel /vmlinuz-2.6.30.9 ro raiz = LABEL = / pmtr = 0x608 acpi_pm_good divisor notsc = 10 acpi_pm_good clocksource = acpi_pm noapic id_core.noprobe = 1.1 mem = 512M ramdisk_size = 262144

Os arquivos da fonte de clocks contêm:

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

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

Isso já dura cerca de um dia e não há nenhum desvio perceptível.

Minhas perguntas são estas:

1) De acordo com o site link o requisito divider=10 clocksource=acpi_pm foi removido no RHEL 5.3, então por que ele melhora as coisas para o RHEL 5.8?

2) Quais são os efeitos dos parâmetros do kernel que tenho mudado?

3) Qual a precisão do desvio em /etc/adjtime ?

4) É possível configurar para atualizar hwclock quando o ntp está funcionando?

5) Existe uma maneira melhor de alcançar o que estou tentando fazer?

obrigado

    
por DanS 13.03.2013 / 15:22

1 resposta

1

Você pode querer experimentar um kernel diferente. O kernel customizado pode ter alguns problemas com o tempo.

    
por 09.06.2013 / 21:59

Tags