Коли певні програми, пов’язані з часом (наприклад ntpd
) працюють у системі Linux, ядро перейде в так званий "одинадцять хвилинний режим" (див. hwclock
Сторінку "man"), завдяки чому воно автоматично оновлюватиме апаратний годинник із системного годинника кожні одинадцять хвилин .
На SLES11 я емпірично визначив, що якщо встановити апаратний годинник приблизно на 10 годин за системним годинником, 11-хвилинний режим видається нездатним змусити апаратний годинник відповідати системному годиннику. Але якщо я встановив апаратний годинник на 5 хвилин позаду системного годинника, 11-хвилинний режим ідеально відповідає.
Тож, мабуть, є якесь максимальне оновлення, яке може працювати 11-хвилинний режим, і мені цікаво, що це таке.
Оновлення:
Це дивно ...
Більше експериментування показує, що коли у мене годинник HW приблизно на 20 хвилин позаду системного годинника, 11-хвилинний режим встановить, що годинник HW рівно на 30 хвилин відстає від системного годинника (!):
# 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
Оновлення:
Я зіткнувся з цим: https://bugs.archlinux.org/task/27408, що означає, що для хорошого чи поганого ядра не буде оновлено апаратний годинник, коли час апаратних годин занадто далеко від системного часу.