VMを「スピードアップ」して時間の経過をエミュレートできますか?


9

VMを「早送り」にして、数日(または数週間、または数か月)相当のログと一時ファイルが構築され、それらを分析できるようにしたいと思います。

virtualbox&ubuntu 12.04 VMでそれは可能ですか?


私はそれが可能であるか疑います:-(
stommestack '15 / 07/15

1
コンピューターをインターネットに接続して、ログがいっぱいになり、髪が白くなるのを見てください。
Paulo Almeida

回答:


2

どうやらそれは、スピードアップ比率を追加することで、カーネルのjiffiesで遊ぶことによって行うことができます。10年間の簡単なテストに関するプレゼンテーションが記載されドキュメントがあります。要約すると次のとおりです。

Kconfigにパラメーター(SPEEDUP_RATIO、〜1〜1000)を追加し、do_timer()を変更します。

 void do_timer(...) {
        jiffies_64 = jiffies_64 + speedup_ratio;
    }

最後に、procfs(echo 100 > /proc/accel)を介して比率を制御します。次に、ブート時に多くのタイムアウトが発生し、カーネルのすべてのタイムアウトを調整する必要がありました(timeout * speedup_ratio)。彼は、これらの値のほとんどはで見つけることができると述べていますgrep jiffiesが、「ほとんど」は、試行錯誤を伴う可能性があることを意味します。

また、man 7 time「jiffyのサイズは、カーネル定数HZの値によって決定されます」によると、設定可能ですが、値は100、250、300、1000のみです。

編集:時間の飛躍が許容できる場合、libfaketimeははるかに単純な代替手段になる可能性があります。しかし、ロギングソフトウェアがそれをどのように処理するかわかりません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.