提高qemu时钟的速度



我试图提高qemu运行的速度,因此,例如,实际CPU的一个节拍将对应于qemu的两个节拍的虚拟时间。这是可能的吗?如果是的话,有人有什么关于如何去做的建议吗?

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

QEMU不模拟执行时间。它不知道任何关于CPU缓存等,所以它不能是准确的,即使它是可取的。它只是尽可能快地执行来宾代码。无加速或减速

至少不要这样寻求解决办法。

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

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

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

注意,icount与硬件加速不兼容。还要注意,过高的shift值可能会导致客户机操作系统行为不正常。例如,当我尝试将值设置为10时,linux内核一直抱怨任务停滞>120秒。

可能感兴趣的:对https://github.com/zephyrproject-rtos/zephyr/issues/14173和相关问题/pr的评论

也许你应该看看libvirt 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中的tickpolicy选项。

它能够"赶上"主机时间。结果是客人似乎加速了。

选项从libvirt翻译到qemu为-rtc ,driftfix=slew

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

相关内容

  • 没有找到相关文章

最新更新