timedatectl의 "동기화" 정의는 무엇입니까?

timedatectl의 "동기화" 정의는 무엇입니까?

timedatectl다음과 같은 출력이 생성됩니다.

               Local time: Tue 2022-05-10 01:07:46 UTC
           Universal time: Tue 2022-05-10 01:07:46 UTC
                 RTC time: Tue 2022-05-10 01:07:46    
                Time zone: Etc/UTC (UTC, +0000)       
System clock synchronized: yes                        
              NTP service: active                     
          RTC in local TZ: no                         

시스템 시계가 NTP와 동기화되어 있는 것을 확인했습니다. 그런데 어떻게 "동기화"됩니까? NTP는 얼마나 자주 쿼리됩니까? NTP 서버에 대한 연결이 끊어지면 시스템은 어느 시점에서 시계가 더 이상 동기화되지 않는다고 판단합니까?

답변1

timedatectl사용org.freedesktop.timedate1D 버스 인터페이스현재 상태를 쿼리합니다. 결과를 출력하며, 정확한 의미는 다를 수 있습니다.

결과는 일반적으로 반환된 상태를 반영합니다.adjtimex. 를 사용하는 경우 timedated시계는 다음과 같습니다.동기화된 것으로 간주됨adjtimex성공하고 보고된 시간 오류가 16초 미만인 경우 . 를 사용하는 경우 timedatex시계는 다음과 같습니다.동기화된 것으로 간주됨adjtimex성공하고 보고된 시간 오류가 10초 미만인 경우 .

시간을 확인하는 빈도는 시간 관리에 사용하는 서비스에 따라 다릅니다.

커널에는 시간이 동기화되지 않았음을 나타내는 플래그가 있습니다(STA_UNSYNC), 그러나 이는 "11분 하드웨어 동기화" 메커니즘과도 관련이 있습니다. 따라서 시계가 동기화되었지만 이미 설정되어 있는 시스템을 갖는 것은 드문 일이 아닙니다 STA_UNSYNC(위에 링크된 코드의 설명 참조).

관련 정보