Oct 19, 2010

Ρύθμιση του time sync στο VirtualBox

Ένα από τα πιο ουσιαστικά προγράμματα που έχω ποτέ χρησιμοποιήσει είναι το JProfiler (http://www.ej-technologies.com/products/jprofiler/overview.html) Το έχω εμπιστευτεί ουκ ολίγες φορές για το profiling JEE εφαρμογών, που συνήθως εκτελούνταν στον Oracle Application Server (φυσικά λειτουργεί και με πολλούς άλλους Application Servers) και πραγματικά με έχει εντυπωσιάσει με τις δυνατότητές του και τη λεπτομέρεια των στοιχείων του. Ενώ όμως είναι ένα προϊόν που το έχω συστήσει σε πολλούς οργανισμούς, οι οποίοι τελικά το έχουν αγοράσει, προσωπικά θεωρώ το development license του υψηλό. Κατά αυτόν τον τρόπο βρίσκομαι στο αδιέξοδο μιας trial version που δεν μπορεί να λειτουργήσει ούτε να ανοίξει τα profiling snapshots που μου στέλνουν οι πελάτες μου.
JProfiler license
Εξαιτίας του ότι τρέχω όλο το προγραμματιστικό μου περιβάλλον σε virtual machines του VirtualBox, μπορώ να κάνω ένα τέχνασμα, αλλάζοντας την ημερομηνία του guest vm ώστε να μην διαμαρτύρεται ο JProfiler για την πάροδο της δοκιμαστικής περιόδου. Πιο συγκεκριμένα, έχοντας κλειστό το guest vm, πληκτρολογούμε:

VBoxManage setextradata [VMname] "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" "1"

Έτσι, απορρυθμίζεται το ρολόι του guest από το συγχρονισμό του με τον host. Έπειτα ξεκινούμε το vm μας και αλλάζουμε την ώρα. Ο JProfiler θα εκτελεστεί κανονικά μετά από αυτήν την αλλαγή.
JProfiler memory consumption
Τερματίζουμε το vm μας και για να επιστρέψουμε στο συγχρονισμό ώρας μεταξύ host και guest στο VirtualBox πληκτρολογούμε:

VBoxManage setextradata [VMname] "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" "0"