システム時間を遅くしたり増やしたりする方法はありますか?

システム時間を遅くしたり増やしたりする方法はありますか?

Linuxでシステムクロックを遅くしたり速くしたいと思います。

Windowsには、「という便利なフリーソフトウェアがあります。時間旅行何をしているのかを理解するには、この画像を確認してください。すべてが説明を必要とします。

ここに画像の説明を入力してください。

したがって、PCの実際の分は54秒になるように速度を0.9に設定し、ワンクリックでシステム時間をリアルタイムで簡単に同期できます。

私はこれを行うことができますか、それと非常によく似たLinux用のソフトウェアやツールが好きです。知っている人はいますか?

ありがとうございます。


PS: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サーバーを使用してシステム全体のテストを実行したことを覚えています。それが何であるかを覚えている場合は、ここに情報を追加します。

関連情報