Puis-je «accélérer» une machine virtuelle pour émuler le passage du temps?


9

Je voudrais mettre une machine virtuelle en «avance rapide» afin que je puisse voir plusieurs jours (ou semaines ou mois) de journaux et de fichiers temporaires s'accumuler et les analyser.

Est-ce possible avec virtualbox et ubuntu 12.04 VM?


Je doute que ce soit possible :-(
stommestack

1
Ouvrez simplement l'ordinateur sur Internet et regardez les journaux se remplir et vos cheveux blanchir.
Paulo Almeida

Réponses:


2

Apparemment, cela peut être fait en jouant avec les jiffies dans le noyau, en ajoutant un rapport d'accélération. Il y a un document avec une présentation sur un test rapide de 10 ans . Cela se résume à ceci:

Ajoutez un paramètre à Kconfig (SPEEDUP_RATIO, ~ 1-1000), modifiez do_timer ():

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

Enfin, contrôlez le ratio via procfs ( echo 100 > /proc/accel). Il a ensuite eu beaucoup de timeouts au démarrage et a dû ajuster tous les timeouts du noyau (timeout * speedup_ratio). Il dit que la plupart de ces valeurs peuvent être trouvées avec grep jiffies, mais le «plus» signifie que cela peut impliquer quelques essais et erreurs.

Aussi, selon man 7 time: "La taille d'un jiffy est déterminée par la valeur de la constante de noyau HZ". Il est configurable, mais ne prend que les valeurs 100, 250, 300 et 1000.

EDIT : Si des sauts de temps sont acceptables, libfaketime peut être une alternative beaucoup plus simple. Mais je ne sais pas comment le logiciel de journalisation traitera cela.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.