컴퓨터를 다시 시작한 후 시계가 몇 초 정도 느려지는 이유는 무엇입니까?

컴퓨터를 다시 시작한 후 시계가 몇 초 정도 느려지는 이유는 무엇입니까?

내 컴퓨터는 연중무휴로 실행되며 커널/systemd/glibc 업그레이드가 완료되면 밤에 자동으로 재부팅됩니다. Fedora에서는 며칠마다 이런 일이 발생합니다.

시스템 시계는 NTP 프로토콜을 사용하여 동기화됩니다 chrony. 하드웨어 시계 동기화:

# Enable kernel synchronization of the real-time clock (RTC).
rtcsync

일반적으로 시스템 시간과 하드웨어 시계에는 차이가 없다고 생각합니다.

그러나 다시 시작한 후:

28.02.2021 00:34:08.657 chronyd: System clock wrong by -4.021024 seconds

아니면 오늘 밤:

mar 02 01:48:18 chronyd[990]: chronyd exiting
mar 02 01:48:18 systemd[1]: Stopped NTP client/server.
-- Reboot --
mar 02 01:49:37 systemd[1]: Starting NTP client/server...
mar 02 01:49:37 chronyd[989]: chronyd version 4.0 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +NTS +SECHASH +IPV6 +DEBUG)
mar 02 01:49:37 chronyd[989]: Frequency -13.026 +/- 0.008 ppm read from /var/lib/chrony/drift
mar 02 01:49:37 chronyd[989]: Using right/UTC timezone to obtain leap second data
mar 02 01:49:37 systemd[1]: Started NTP client/server.
mar 02 01:49:51 chronyd[989]: Selected source 162.159.200.123 (hu.pool.ntp.org)
mar 02 01:49:51 chronyd[989]: Time smoothing activated (leap seconds only)
mar 02 01:49:51 chronyd[989]: System clock wrong by -9.232765 seconds
mar 02 01:49:42 chronyd[989]: System clock was stepped by -9.232765 seconds

수동으로 중지하고 chrony2분 정도 기다렸다가 다시 시작하면 예상대로 아무 문제도 발생하지 않습니다.

온라인에서 많이 검색하고 많은 게시물을 읽었지만 여전히 내가 뭘 잘못하고 있는지 이해할 수 없습니다.

업데이트, 출력 timedatectl:

               Local time: St 2021-03-03 14:11:27 CET    
           Universal time: St 2021-03-03 13:11:27 UTC    
                 RTC time: St 2021-03-03 13:11:27        
                Time zone: Europe/Bratislava (CET, +0100)
System clock synchronized: yes                           
              NTP service: active                        
          RTC in local TZ: no  

출력 hwclock --verbose:

hwclock from util-linux 2.36.1
System Time: 1614784382.362288
Trying to open: /dev/rtc0
Using the rtc interface to the clock.
Assuming hardware clock is kept in UTC time.
Waiting for clock tick...
...got clock tick
Time read from Hardware Clock: 2021/03/03 15:13:03
Hw clock time : 2021/03/03 15:13:03 = 1614784383 seconds since 1969
Time since last adjustment is 1614784383 seconds
Calculated Hardware Clock drift is 0.000000 seconds
2021-03-03 16:13:02.344795+01:00

systemd-timesyncd비활성화되어 있으며 비활성 상태입니다.

답변1

명령을 시도

timedatectl

RTC 시계가 조정되었거나 꺼졌는지 확인하세요. hwclock또는 유사한 명령을 사용할 수도 있습니다 .

현재 더 이상 사용되지 않고 많은 최신 배포판에서 대체된 ntpd 서비스의 경우 종료 시 디스크에 드리프트 파일을 기록하고 하드웨어 시계를 올바른 시간으로 설정한다는 것을 알고 있습니다. 드리프트 파일에는 시스템 시계 정확도, 종료 시간 및 기타 정보에 대한 정보가 있습니다. 컴퓨터를 켜면 ntpd는 드리프트 파일을 확인하고 기록된 드리프트를 기반으로 시스템 시계를 조정하여 더 빠르게 동기화합니다.

chrony동기화에는 이제 하드웨어 시계가 있는 점점 더 많은 가상 머신이 필요하기 때문에 ntpd보다 훨씬 빠릅니다. chrony가 종료 시 하드웨어 시계를 조정하는지 궁금합니다. 어쩌면 차이가 점점 벌어지고 있는지 확인해야 할 수도 있습니다. 이 경우 최소한 종료 시 하드웨어 시계를 설정하거나 시스템이 하드웨어 시계를 조정하지 않는 이유를 이해하는 것이 좋습니다.

어쩌면 하드웨어 문제가 있을 수도 있습니다. 나는 몇 년 전에 컴퓨터의 시간이 1분에 약 17초 동안 어긋나는 가장 이상한 사례 중 하나를 발견했습니다. 문제는 다수의 하드웨어 인터럽트였는데, 처음에는 특수한 PCI 카드가 의심스러웠습니다. KVM 스위치는 키보드 및 마우스와 마찬가지로 USB를 통한 일종의 사운드 스트리밍을 지원하는 것으로 나타났습니다. KVM 스위치 없이도 모든 것이 잘 작동합니다.

관련 정보