【问题标题】:Is it possible to change the guest wall clock speed in a virtualized environment?是否可以在虚拟化环境中更改访客挂钟速度?
【发布时间】:2014-04-02 18:27:01
【问题描述】:

我们正在开展一个大型项目,专注于对我们生产的软件进行自动化测试。

我们有很多在特定时间触发特定行为的“事件”。理想情况下,我们将能够以自动化方式执行这些测试,而无需将系统时钟间隔移动到特定时间点。

为此,我想知道是否有办法(使用 VMWare 或任何其他虚拟化软件)来提高来宾操作系统的系统时钟速度。我对测量这些测试中的性能不感兴趣,只对功能感兴趣。

有什么东西可以允许这种行为吗?

【问题讨论】:

    标签: virtual-machine virtualization


    【解决方案1】:

    适用于 VirtualBox:

    VBoxManage setextradata "VM name" "VBoxInternal/TM/WarpDrivePercentage" x
    

    其中 x 是您想要的百分比(例如,200 是翻倍,50 是减半)

    您还可以在此处的“Accelerate or slow down the guest clock”部分获得更多信息。问候。

    【讨论】:

      【解决方案2】:

      我能够使用Win32 API SetSystemTimeAdjustment() 解决这个问题

      这使您可以为每个操作系统滴答间隔增加添加到系统时钟的时间量。它通常用于解决时钟偏差,但可以在特定环境之外使用。

      【讨论】:

        【解决方案3】:

        我看不出在快速转发的 VM 中测试这个而不是使用日期/时间依赖的模拟实现对事件触发器进行单元测试有什么好处。

        通过在快速转发的 VM 中进行测试,您“获得”的唯一一件事是您同时测试了系统和编程语言的日期/时间实现,我认为您可以信任它,因为它被使用、开发和经过这么长时间的测试

        【讨论】:

        • 拥有更快的来宾可以让您测试具有周期性作业的系统。通过更快的时钟运行更多周期性作业,这使您可以测试它们如何交互、它们是否会导致长时间运行的进程中的内存泄漏、各种竞争条件、资源(磁盘空间)是否被正确释放等等。
        猜你喜欢
        • 1970-01-01
        • 2023-01-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-24
        • 2018-02-08
        • 2021-04-17
        相关资源
        最近更新 更多