在 KVM 中是否有与 WarpDrivePercentage 等效的

在 KVM 中是否有与 WarpDrivePercentage 等效的

VirtualBox 有一个鲜为人知的功能,称为 WarpDrivePercentage。这允许您以更快或更慢的速度运行虚拟机(有一些注意事项)。我们有一个在 KVM 中模拟机顶盒的测试环境,这样的功能可能让我们能够执行更多测试。

答案1

硬解决方案:

我在 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"安排时间。

最简单的解决方案:

问问你为什么需要这样加速时间?我想不出机顶盒需要这个的很多理由。而且使用假时间包装器在代码中处理可能比在操作系统级别更容易。通过弄乱时间,你会弄乱 NTP、日志和大量其他东西。

相关内容