Когда определенные связанные со временем программы (например ntpd
) запускаются в системе Linux, ядро переключается в так называемый «режим одиннадцати минут» (см. hwclock
Справочную страницу), в результате чего оно автоматически обновляет аппаратные часы с системных часов каждые одиннадцать минут. ,
На 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, который подразумевает, что ядро не будет обновлять аппаратные часы, если время аппаратных часов слишком далеко от времени системных часов.