5

我正在尝试提高 qemu 运行的速度,例如,真实 CPU 的一个滴答声将对应 qemu 虚拟时间的两个滴答声。这是可能的吗?如果可以,是否有人对如何执行此操作有任何指示?

4

3 回答 3

5

你不能这样做。QEMU 不是为这样的事情而设计的。

QEMU 不模拟执行时间。它对 CPU 缓存等一无所知,因此即使它是可取的也不能准确。它只是尽可能快地执行客户代码。没有加速或减速。

至少不要以这种方式寻求解决方案。

于 2015-01-21T15:46:35.447 回答
2

也许你应该看看tickpolicylibvirt https://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/Virtualization_Deployment_and_Administration_Guide/sect-Virtualization-Tips_and_tricks-Libvirt_Managed_Timers.html的选项。

它能够“赶上”主机时间。效果是客人似乎加速了。

该选项从 libvirt 转换为 qemu 为-rtc ,driftfix=slew

请注意,它不会改变代码的执行速度。

于 2018-08-03T13:50:57.097 回答
2

有 qemu 选项可以改变客人看到的时间提前。

我使用的参数(使用 qemu v4.2.0)是:

qemu-system-x86_64 -rtc base=localtime,clock=vm -icount shift=7,align=off,sleep=off ...

请注意,icount 与硬件加速不兼容。另请注意,移位值太高可能会导致客户操作系统行为不端。例如,当我尝试将值设置为 10 时,linux 内核一直抱怨任务停滞 > 120 秒。

可能感兴趣:对https://github.com/zephyrproject-rtos/zephyr/issues/14173和链接问题/PRs 的评论。

于 2020-06-18T00:12:59.607 回答