当某些与时间相关的程序(例如ntpd
)在Linux系统上运行时,内核将切换到所谓的“十一分钟模式”(请参见hwclock
手册页),从而它将每隔十一分钟自动从系统时钟中更新硬件时钟。 。
在SLES11上,我凭经验确定,如果将硬件时钟设置为比系统时钟晚10小时,则11分钟模式似乎无法使硬件时钟与系统时钟匹配。但是,如果我将硬件时钟设置为比系统时钟晚5分钟,则11分钟模式将是完美的选择。
因此,显然有一个11分钟模式可以处理的最大更新,我想知道这是什么。
更新:
真奇怪
更多的试验表明,当我身边有系统时钟落后20分钟HW时钟的11分钟的模式将设置硬件时钟是准确的系统时钟落后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确实暗示,无论硬件时钟时间与系统时钟时间相距太远,内核无论好坏都不会更新硬件时钟。