시스템 시간을 늦추거나 높이는 방법이 있습니까?

시스템 시간을 늦추거나 높이는 방법이 있습니까?

Linux에서 시스템 시계를 더 느리게 또는 더 빠르게 만들고 싶습니다.

Windows에는 "라는 편리한 무료 소프트웨어가 있습니다.시간 여행". 그것이 무엇을 하는지 이해하려면 이 이미지를 확인하세요. 모든 것이 설명이 필요합니다.

여기에 이미지 설명을 입력하세요.

따라서 PC의 실제 분은 54초에 불과하도록 속도를 0.9로 설정하고 단 한 번의 클릭으로 시스템 시간을 다시 실시간으로 쉽게 동기화할 수 있습니다.

나는 이 작업도 수행할 수 있거나 이와 매우 유사한 Linux용 소프트웨어나 도구를 좋아합니다. 아는 사람 있나요?

감사해요.


추신: Windows 소프트웨어에 대한 그림과 링크는 Windows용으로 매우 간단한 GUI 솔루션이 존재한다는 사실을 설명하기 위한 것이며 Linux 시스템에서도 이에 근접해 보고 싶습니다.

답변1

시간을 조정하세요Linux 시스템 시계를 교정하는 도구입니다(CPU 주파수에는 영향을 주지 않음). 시스템 시계를 느리게 또는 빠르게 만들 수 있지만 약간만 조정할 수 있습니다.

간단한 설명 man 8 adjtimex:

-t val, --tick val
              Set the number of microseconds that should be added to the
              system time for each kernel tick interrupt.
-f newfreq, --frequency newfreq
              Set the system clock frequency offset to newfreq.  newfreq can
              be negative or positive, and gives a much finer adjustment 
              than the --tick switch.
-s adj, --singleshot adj
              Slew the system clock by adj usec. 
-o adj, --offset adj
              Add a time offset of adj usec.

시계를 더 빠르게 실행하려면 다음과 같이 스크립트를 사용하여 시스템 시계를 주기적으로 설정할 수 있습니다.

#!/usr/bin/env python3

import time

clk_id = time.CLOCK_REALTIME

def run(cycle, speed):
    while True:
        t = time.clock_gettime(clk_id)
        time.clock_settime(clk_id, t + speed * cycle)
        time.sleep(cycle)

if __name__ == '__main__':
    run(0.01,24) # set time every 0.01 second, 24 times faster than normal

속도를 조금 늦추고 싶을 때는 주의하세요. 시간을 원활하게 유지해야 하며, 시간을 더 느리게 늘리거나 중지할 수 있지만 도착하기보다 일찍 설정해서는 안 됩니다. 즉, 과거로 돌아갈 수는 없습니다.

따라서 시계 속도를 강제로 낮추는 스크립트를 사용하지 마십시오.

답변2

저는 Linux에서 이 작업을 수행할 수 있는 시스템 기본 도구를 모릅니다. 그러나 프로세스와 그 하위 항목에 대해 이 작업을 수행하는 프로그램이 있습니다(지침) 일반적으로 충분합니다. faketime- 참조일시적으로 시간 변경더 알아보기.

나는 약 15년 ​​전에 제어된 NTP 서버를 사용하여 시스템 전체 테스트를 수행했던 것을 기억합니다. 그것이 무엇인지 기억한다면 여기에 정보를 추가하겠습니다.

관련 정보