Kiedy niektóre programy związane z czasem (np. ntpd
) Działają w systemie Linux, jądro przełącza się w tak zwany „tryb jedenastominutowy” (patrz hwclock
strona podręcznika ), w którym co 11 minut automatycznie aktualizuje zegar sprzętowy z zegara systemowego .
Na SLES11 empirycznie ustaliłem, że jeśli ustawię zegar sprzętowy na około 10 godzin za zegarem systemowym, tryb 11-minutowy wydaje się niezdolny do dopasowania zegara sprzętowego do zegara systemowego. Ale jeśli ustawię zegar sprzętowy na 5 minut za zegarem systemowym, tryb 11-minutowy idealnie pasuje.
Najwyraźniej istnieje jakaś maksymalna aktualizacja, którą może obsłużyć tryb 11-minutowy i zastanawiam się, co to jest.
Aktualizacja:
To dziwne ...
Dalsze eksperymenty pokazują, że kiedy mam zegar sprzętowy około 20 minut za zegarem systemowym, tryb 11-minutowy ustawi zegar sprzętowy dokładnie na 30 minut za zegarem systemowym (!):
# 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
Aktualizacja:
Natknąłem się na to: https://bugs.archlinux.org/task/27408, co oznacza, że na dobre lub złe jądro nie zaktualizuje zegara sprzętowego, gdy zegar sprzętowy jest zbyt daleko od zegara systemowego.