Cuando ciertos programas relacionados con el tiempo (como ntpd
) se ejecutan en un sistema Linux, el kernel cambiará al llamado "modo de once minutos" (vea la hwclock
página del manual) mediante el cual actualizará automáticamente el reloj del hardware del reloj del sistema cada once minutos .
En SLES11, he determinado empíricamente que si configuro el reloj del hardware para que esté a unas 10 horas del reloj del sistema, el modo de 11 minutos parece incapaz de hacer que el reloj del hardware coincida con el reloj del sistema. Pero si configuro el reloj de hardware 5 minutos detrás del reloj del sistema, el modo de 11 minutos hace una combinación perfecta.
Entonces, aparentemente hay alguna actualización máxima que el modo de 11 minutos puede manejar y me pregunto qué es.
Actualizar:
Esto es raro ...
Más experimentación muestra que cuando tengo el reloj HW alrededor de 20 minutos detrás del reloj del sistema, el modo de 11 minutos establecerá que el reloj HW esté exactamente 30 minutos detrás del reloj del 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
Actualizar:
Me encontré con esto: https://bugs.archlinux.org/task/27408, lo que implica que, para bien o para mal, el núcleo no actualizará el reloj del hardware cuando la hora del reloj del hardware está demasiado lejos de la hora del reloj del sistema.