Czy mogę „przyspieszyć” maszynę wirtualną, aby naśladować upływ czasu?

9

Chciałbym umieścić maszynę wirtualną w trybie „szybkiego przewijania do przodu”, dzięki czemu mogę zobaczyć, jak dzienniki i pliki tymczasowe gromadzą się i analizują wartości z kilku dni (tygodni lub miesięcy).

Czy to możliwe dzięki Virtualbox i Ubuntu 12.04 VM?

Dean Rather
źródło
Wątpię, czy to możliwe :-(
stommestack,
1
Po prostu otwórz komputer w Internecie i obserwuj, jak kłody się wypełniają, a twoje włosy stają się bielsze.
Paulo Almeida

Odpowiedzi:

2

Najwyraźniej można to zrobić, grając z jiffies w jądrze, dodając współczynnik przyspieszenia. Jest dokument z prezentacją na temat szybkiego 10-letniego testu . Sprowadza się do tego:

Dodaj parametr do Kconfig (SPEEDUP_RATIO, ~ 1-1000), zmodyfikuj do_timer ():

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

Na koniec stosunek kontroli za pomocą procfs ( echo 100 > /proc/accel). Potem miał dużo limitów czasu przy rozruchu i musiał dostosować wszystkie limity czasu w jądrze (limit czasu * speedup_ratio). Mówi, że większość z tych wartości można znaleźć grep jiffies, ale „większość” oznacza, że ​​może to wiązać się z pewnymi próbami i błędami.

Ponadto, zgodnie z man 7 time: „Rozmiar jiffy jest określony przez wartość stałej jądra HZ”. Jest konfigurowalny, ale przyjmuje tylko wartości 100, 250, 300 i 1000.

EDYCJA : Jeśli skoki czasu są dopuszczalne, libfaketime może być znacznie prostszą alternatywą. Ale nie wiem, jak poradzi sobie z tym oprogramowanie rejestrujące.

Paulo Almeida
źródło