Desvio excessivo do clock no AMD Athlon impede que o ntpd sincronize o relógio

4

Tenho um host AMD Athlon XP-2500 + (placa-mãe Shuttle MN31, chipset nForce 2 IGP + MCP-T) executando o Ubuntu 9.10 de 32 bits (kernel genérico i686 2.6.31-20). Infelizmente, parece que o relógio é tão ruim (ele avança cerca de um segundo extra a cada minuto) que o ntpd não consegue manter a máquina em sincronia.

Como faço para lidar com isso para que o ntpd funcione?

    
por Curt J. Sampson 03.04.2010 / 23:24

5 respostas

7

A solução é usar o pacote adjtimex para permitir que seu kernel saiba quanto tempo realmente transcorre durante cada escala do kernel. Se a ideia for diferente da realidade, o relógio do sistema será executado mais rapidamente ou mais lentamente. Cito de Fazendo o trabalho NTP em hardware com grande desvio de relógio :

When installed, the package will normally run the adjtimexconfig command. This will compare the system clock to the hardware real-time clock over a period of seventy seconds or so and determine how much faster or slower the system clock is. It will then run the adjtimex command with the -t option to set the “tick” parameter, which is the number of microseconds the clock should advance with each kernel tick. It will also update the /etc/default/adjtimex file with this information so that it’s preserved across reboots.

    
por 04.04.2010 / 01:02
5

O problema pode ser um dos vários relógios ou temporizadores são componentes passivos do oscilador ou temporizador / relógio (incluindo RTC) particularmente imprecisos ou possivelmente defeituosos (cristal de quartzo, e qualquer capacitores relacionados). Se esta é a causa, você pode não ser capaz de trabalhar totalmente em torno dela, se o tempo exato for crítico para você.

O chipset nVidia nForce2 para placas-mãe é conhecido por ser muito errático . Existe também a possibilidade de que APIC e ACPI, Processadores de Velocidade Variável , e Problemas de osciladores / relógio do spread do barramento frontal (FSB) Spread Spectrum (SS) que afetam a precisão. Um problema potencial de software (kernel) é com algumas versões do kernel 2.6.x mis-detection a frequência TSC (contador de registro de data e hora) e alguns processadores AMD ajustam o TSC com base na velocidade do clock do processador (ou seja, para economia de energia, semelhante ao SpeedStep nos processadores Intel).

Se ainda não o fez, consulte a documentação do NTP para Solucionar problemas com o NTP .

Se nenhum dos itens acima reduzir os comportamentos erráticos do relógio, você poderá Calibrá-lo manualmente usando adjtimex e NTP . Certifique-se de excluir quaisquer arquivos de desvio existentes do NTP /var/lib/ntp/ntp.drift no Ubuntu, podem estar localizados em / etc / ntp / em alguns outros sistemas Unix / Linux) ou entradas no ntp.conf.

Desculpas por possivelmente declarar o óbvio, mas garantir que você tenha 3 ou 4 servidores NTP acessíveis incluídos no arquivo de configuração do NTP (normalmente /etc/ntp.conf ou similar). E por favor use servidores (públicos) "perto" de você. A maioria dos ISPs ou provedores de rede oferecem acesso gratuito ao seu próprio servidor NTP interno, use-o . caso contrário, use servidores públicos do link , de preferência localizado em sua província / estado ou pelo menos no país.

    
por 04.04.2010 / 07:03
0

Meu hack atual é rodar o ntpdate uma vez por minuto a partir do crontab do root. Isso move o tempo de volta por pouco menos de um segundo a cada minuto. Eu não estou muito feliz com esta solução. No entanto, demonstra a consistência do desvio:

ntpdate[20526]: step time server 218.45.21.199 offset -0.932912 sec
ntpdate[20549]: step time server 218.45.21.199 offset -0.932647 sec
ntpdate[20572]: step time server 218.45.21.199 offset -0.922805 sec
ntpdate[20597]: step time server 218.45.21.199 offset -0.949046 sec
ntpdate[20621]: step time server 219.117.196.238 offset -0.941480 sec
ntpdate[20650]: step time server 219.117.196.238 offset -0.925179 sec
ntpdate[20673]: step time server 219.117.196.238 offset -0.930992 sec
ntpdate[20698]: step time server 219.117.196.238 offset -0.949393 sec
ntpdate[20726]: step time server 219.117.196.238 offset -0.923139 sec
ntpdate[20751]: step time server 219.117.196.238 offset -0.933554 sec
    
por 03.04.2010 / 23:27
-1

Você pode editar o arquivo de configuração (/etc/ntp.conf, geralmente) para definir algumas coisas úteis, como o minpoll:

   minpoll, maxpoll
          These options specify the minimum and maximum poll intervals for NTP messages, in seconds as a power of two.The maximum poll interval defaults to 10 (1,024 s), but can be increased by the maxpoll option to  an  upper limit  of  17 (36.4 h).  The minimum poll interval defaults to 6 (64 s), but can be decreased by the minpoll option to a lower limit of 4 (16 s).  These option are valid only with the server and peer commands.
    
por 04.04.2010 / 03:32
-1

Tente remover a opção "-g" das opções de linha de comando do ntpd.

    
por 05.04.2010 / 05:26

Tags