VirtualBox имеет немного, знают функцию под названием WarpDrivePercentage. Это позволяет Вам выполнять VM в быстрее или более медленные скорости (с некоторыми протестами). У нас есть тестовая среда, которая моделирует Поля Вершины Набора в KVM, и функция как это могла потенциально позволить нам выполнять намного больше тестов.
Трудное решение:
Я не вижу встроенной опции в документах KVM, но можно смешать с системным временем. Во-первых, проверьте то, что синхронизирует Вашу установку KVM, использует:
$ cat /sys/devices/system/clocksource/clocksource0/current_clocksource
Это наиболее вероятно kvm-clock
. Если так, у Вас есть несколько опций. kvm-clock
живите обновления его время с помощью следующей структуры:
struct pvclock_vcpu_time_info {
u32 version;
u32 pad0;
u64 tsc_timestamp;
u64 system_time;
u32 tsc_to_system_mul;
s8 tsc_shift;
u8 flags;
u8 pad[1];
} __attribute__((__packed__));
Вы могли записать обертку на хосте, чтобы прервать это и произвести ускоренную версию времени. Вы могли также восстановить kvm-clock
самостоятельно, замена pvclock_vcpu_time_info
с пользовательской логикой для вывода времени UTC с дельтой дополнительного времени, как как libvirt
делает в его переменной смещения <clock offset="variable" adjustment="123456" />
Более легкое решение:
Продолжите использовать virtualbox
. Или xen
имеет сопоставимую опцию "xen.independent_wallclock = 1"
где можно настроить собственное время.
Самое легкое решение:
Спросите, почему необходимо ускорить время как это? Я не могу думать о тонне причин, полю Set Top было бы нужно это. И, скорее всего, было бы легче обработать в Вашем коде с поддельной оберткой времени, чем на уровне ОС. Вы портите NTP, журналы и тонну другого материала путем питания со временем.