즉시 설정하지 않으면 NTP가 시계를 조정하는 데 얼마나 걸리나요?

즉시 설정하지 않으면 NTP가 시계를 조정하는 데 얼마나 걸리나요?

나는 Debian 기반 시스템을 동기화하기 위해 SNTP를 사용하고 있습니다. SNTP에는 시계를 설정하는 두 가지 방법이 있습니다.

-s, --settod     Set (step) the time with settimeofday().
-j, --adjtime    Set (slew) the time with adjtime().

변환 방법은 감지된 오프셋이 0이 될 때까지 작은 단계로 로컬 시스템 시계를 조정합니다. 롤백은 주로 시간이 거꾸로 가는 시계에 잘못 반응하는 프로세스를 방해하지 않기 위해 수행됩니다.

지금 시계를 설정하는 단계별 방법입니다.

시간적으로 SNTP를 완료하는 데 얼마나 걸리나요?

시스템을 폴링하고 변환이 아직 진행 중이라는 피드백을 제공할 수 있는 방법이 있습니까?

답변1

지금 시계를 설정하는 단계별 방법입니다. SNTP가 변환을 완료하는 데 얼마나 걸리나요?

나는 경험이 없다에스NTP 솔루션이므로 이 점에서 본격적인 NTP와 다르지 않은 것으로 가정됩니다. 전자의 경우 스테핑의 경우 128ms, 잠금 및 회전의 경우 500ppm(496~512ppm)이라는 두 가지 턴키 제한을 사용합니다. 이는 최대 허용 오프셋 128ms가 최대 슬루율 512ppm에서 250초(4.17분) 내에 보상된다는 의미입니다. 그러나 실제로는 목표 시간에 가까워짐에 따라 슬루율이 계산된 주기 수정율까지 점차적으로 감소하기 때문에 약간 더 오래 걸릴 수 있습니다.

시스템을 폴링하고 변환이 아직 진행 중이라는 피드백을 제공할 수 있는 방법이 있습니까?

스톡 ntptime유틸리티를 사용해 보세요. 커널을 직접 쿼리하고 ntpd실행되지 않을 때에도 작동합니다. 물론 내부적으로 adjtime()호출 된다고 가정 ntp_adjtime()하지만 확실하지 않습니다.

답변2

man adjtime

.
.
.

If the adjustment in delta  is  positive,  then  the  system  clock  is
speeded  up by some small percentage (i.e., by adding a small amount of
time to the clock value in each second) until the adjustment  has  been
completed.   If  the adjustment in delta is negative, then the clock is
slowed down in a similar fashion.

따라서 커널은 매초마다 시간 조정을 관리하며 조정 크기는 호출 struct에 전달된 값의 크기에 따라 달라집니다. adjtime(3)흥미롭게도 Linux는 adjtimex(3)RFC1305(NTP 버전 3) 기반 접근 방식을 사용합니다. 섹션 5에서는 시간 차이를 관리하는 방법을 자세히 설명합니다.

관련 정보