Quando certos programas relacionados ao tempo (como ntpd
) estiverem sendo executados em um sistema Linux, o kernel mudará para o chamado "modo onze minutos" (consulte a hwclock
página do manual), através do qual atualizará automaticamente o relógio do hardware a partir do relógio do sistema a cada onze minutos .
No SLES11, determinei empiricamente que, se eu definir o relógio do hardware como algo em torno de 10 horas atrás do relógio do sistema, o modo de 11 minutos parecerá incapaz de fazer o relógio do hardware corresponder ao relógio do sistema. Mas se eu definir o relógio do hardware 5 minutos atrás do relógio do sistema, o modo de 11 minutos fará uma combinação perfeita.
Então, aparentemente, há alguma atualização máxima que o modo de 11 minutos pode suportar e estou me perguntando o que é.
Atualizar:
Isso é estranho ...
Mais experiências mostram que, quando eu tenho o relógio HW cerca de 20 minutos atrás do relógio do sistema, o modo de 11 minutos define o relógio HW para exatamente 30 minutos atrás do relógio do sistema (!):
# date
Tue Dec 6 10:16:52 EST 2011
# hwclock --set --date "12/6/11 09:56"
#
# date
Tue Dec 6 10:17:16 EST 2011
# hwclock --show
Tue Dec 6 09:56:06 2011 -0.156551 seconds
#
# date
Tue Dec 6 10:23:09 EST 2011
# hwclock --show
Tue Dec 6 10:01:58 2011 -0.535772 seconds
#
# date
Tue Dec 6 10:34:28 EST 2011
# hwclock --show
Tue Dec 6 10:04:27 2011 -0.192025 seconds
Atualizar:
Eu deparei com isso: https://bugs.archlinux.org/task/27408, o que implica que, para o bem ou para o mal, o kernel não atualizará o relógio do hardware quando o tempo do relógio estiver muito longe do relógio do sistema.
Respostas:
Na
hwclock
página do manual no RHEL 4.6:Então, pela virtude de você correr,
hwclock --set
você provavelmente o desligou. Da mesma forma, você pode verificar a saída doadjtimex --print
para confirmar.fonte
hwclock --set
não toca na hora do sistema. E quando eu façoadjtimex --print
que confirma que o modo de 11 min em em desde o "64" bit é realmente off.if((status & (1<<6)) == 0)
modo de 11 minutos estará ativado.sync_cmos_clock
funçãoDe fato, isso não tem nada a ver com o modo de onze minutos no kernel. Isso está relacionado a um recurso no ntpd.
Você está ciente do chamado limite de sanidade do ntp? Se o tempo estiver muito longe (por exemplo, 10 horas), o ntpd desiste e não distorce o relógio. Nesses casos, o ntpd ou o ntpdate deve ser executado manualmente. A opção Ntpd
-g
deve fazer isso. Verifique as informações na página de manual:http://doc.ntp.org/4.1.0/ntpd.htm
fonte
ntpd
já está sendo executada com a-g
opçãoO kernel não sincronizará o tempo se estiver desligado por mais de 60 minutos quando estiver no modo Eleven Minute. Esse é um problema comum no SUSE Enterprise; consulte este artigo no Open SUSE para obter mais detalhes: https://lists.opensuse.org/opensuse-bugs/2011-06/msg01348.html
fonte