Wenn bestimmte zeitbezogene Programme (wie ntpd
) auf einem Linux-System ausgeführt werden, wechselt der Kernel in den sogenannten "Elf-Minuten-Modus" (siehe hwclock
Manpage), wodurch die Hardware-Uhr automatisch alle elf Minuten von der Systemuhr aktualisiert wird .
Unter SLES11 habe ich empirisch festgestellt, dass der 11-Minuten-Modus nicht in der Lage ist, die Hardware-Uhr an die Systemuhr anzupassen, wenn ich die Hardware-Uhr auf etwa 10 Stunden nach der Systemuhr stelle. Wenn ich die Hardware-Uhr jedoch 5 Minuten hinter der Systemuhr stelle, passt der 11-Minuten-Modus perfekt zusammen.
Es gibt also anscheinend ein maximales Update, das der 11-Minuten-Modus verarbeiten kann, und ich frage mich, was es ist.
Aktualisieren:
Das ist komisch ...
Weitere Experimente zeigen, dass wenn ich die HW-Uhr etwa 20 Minuten hinter der Systemuhr habe, der 11-Minuten-Modus die HW-Uhr auf genau 30 Minuten hinter der Systemuhr setzt (!):
# 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
Aktualisieren:
Ich bin auf Folgendes gestoßen: https://bugs.archlinux.org/task/27408. Dies bedeutet, dass der Kernel die Hardware-Uhr nicht aktualisiert, wenn die Uhrzeit der Hardware zu weit von der Uhrzeit des Systems entfernt ist.