kvm 或 qemu 是否有乱序执行?

does kvm or qemu have out of order execution?

kvm有乱序执行功能吗?如果不能,我们能否实施以提高虚拟机性能或底层处理器会处理它。

如果问题是 QEMU-KVM 是否模拟 OOO,那么不,他们没有。 QEMU 可以模拟指令集架构(例如,您可以 运行 x86 上的 ARM 代码)但不能在指令重新排序级别。在软件中执行此操作可能只会增加额外的开销。

另一方面,如果您 运行 VM 中的本机代码(x86 上的 x86 二进制文件,但已虚拟化),那么所有非特权指令的执行方式与它们在裸机上的执行方式完全相同。因此,如果您的 CPU 可以乱序执行,它也会对您的 VM 代码执行乱序。特权处理器指令的执行方式取决于您是否将 KVM 模块与 QEMU 一起使用。您可以阅读更多相关信息 here or in more details here.

如果您认为您的 QEMU 太慢,请检查是否使用了 KVM 模块:通过提供 -enable-kvm 参数来附加命令行。另外 make sure 您的处理器具有虚拟化支持。

同时勾选 this answer