Linux 커널“11 분 모드”가 만들 수있는 가장 큰 하드웨어 시계 업데이트는 무엇입니까? 프로그램 (예 :)이

ntpdLinux 시스템에서 특정 시간 관련 프로그램 (예 :)이 실행중인 경우 커널은 소위 “11 분 모드”(설명서 hwclock페이지 참조)로 전환되어 11 분마다 시스템 시계에서 하드웨어 시계를 자동으로 업데이트합니다. .

SLES11에서 하드웨어 시계를 시스템 시계보다 10 시간 뒤 떨어진 것으로 설정하면 11 분 모드가 하드웨어 시계를 시스템 시계와 일치시킬 수없는 것으로 보입니다. 그러나 하드웨어 시계를 시스템 시계 5 분 뒤에 설정하면 11 분 모드가 완벽하게 일치합니다.

따라서 11 분 모드가 처리 할 수있는 최대 업데이트가 있으며 그것이 무엇인지 궁금합니다.


최신 정보:

이상하다 …

더 많은 실험에 따르면 시스템 시계보다 약 20 분 뒤에 HW 시계가 있으면 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 이것은 하드웨어 클럭 시간이 시스템 클럭 시간과 너무 멀면 커널이 하드웨어 클럭을 업데이트하지 않는다는 것을 의미합니다.



답변

hwclockRHEL 4.6 의 매뉴얼 페이지에서 :

This mode (we'll call it "11 minute mode") is off until something turns it on.  The ntp
daemon  xntpd  is  one thing  that  turns  it on.  You can turn it off by running
anything, including hwclock --hctosys, that sets the System Time the old fashioned way.

To see if it is on or off, use the command adjtimex --print and look at the value of
"status".  If the "64" bit of this number (expressed in binary) equal to 0, 11 minute mode
is on.  Otherwise, it is off.

따라서 당신이 달리기 때문에 hwclock --set당신은 그것을 해제했을 것입니다. 동일한 토큰으로의 출력 adjtimex --print을 확인할 수 있습니다.


답변

사실 이것은 커널에서 11 분 모드와 관련이 없습니다. 이것은 ntpd의 기능과 관련이 있습니다.

소위 ntp의 위생 한계를 알고 있습니까? 시간이 너무 멀면 (예 : 10 시간) ntpd가 포기하고 시계를 기울이지 않습니다. 이 경우 ntpd 또는 ntpdate를 수동으로 실행해야합니다. Ntpd 옵션 -g은 그렇게해야합니다. 매뉴얼 페이지에서 정보를 확인하십시오.

http://doc.ntp.org/4.1.0/ntpd.htm


답변

11 분 모드에서 60 분 이상 꺼져 있으면 커널이 시간을 동기화하지 않습니다. 이것은 SUSE Enterprise의 일반적인 문제입니다. 자세한 내용은 Open SUSE의이 기사를 참조하십시오. https://lists.opensuse.org/opensuse-bugs/2011-06/msg01348.html