Lorsque certains programmes liés au temps (comme ntpd
) s'exécutent sur un système Linux, le noyau bascule en soi-disant "mode onze minutes" (voir la hwclock
page de manuel) par lequel il mettra automatiquement à jour l'horloge matérielle de l'horloge système toutes les onze minutes .
Sur SLES11, j'ai déterminé empiriquement que si je réglais l'horloge matérielle à 10 heures de retard sur l'horloge système, le mode 11 minutes semblait incapable de faire correspondre l'horloge matérielle à l'horloge système. Mais si je règle l'horloge matérielle 5 minutes derrière l'horloge système, le mode 11 minutes fait un match parfait.
Donc, apparemment, il y a une mise à jour maximale que le mode 11 minutes peut gérer et je me demande ce que c'est.
Mise à jour:
C'est bizarre ...
Plus d'expérimentation montre que lorsque j'ai l'horloge HW environ 20 minutes derrière l'horloge système, le mode 11 minutes réglera l'horloge HW exactement 30 minutes derrière l'horloge système (!):
# 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
Mise à jour:
J'ai rencontré ceci: https://bugs.archlinux.org/task/27408, ce qui implique que, pour de bon ou de mauvais, le noyau ne mettra pas à jour l'horloge matérielle lorsque l'heure de l'horloge matérielle est trop éloignée de l'heure de l'horloge système.