我正在以完全仿真模式(使用TCG)对QEMU(qemu-system-i386)的性能进行一些测试,并避免使用KVM。我已经安装了debian存储库中可用的版本(QEMU仿真器版本1.1.2(Debian 1.1.2 + dfsg-6a + deb7u6)),并下载并编译了Qemu 2.3.0,Qemu 1.0.0,Qemu 1.1的源代码。 2,以及Debian 1.1.2 + dfsg-6a + deb7u6的源代码。

在所有情况下,我都通过以下方式配置项目:
./configure --enable-sdl --target-list = i386-softmmu --disable-kvm --enable-tcg-解释器

从存储库安装的版本比任何手动编译的版本都快。我一直在为硬盘使用相同的映像)。我确保永远不会启用或加载kvm:
*查询qemu(info kvm)
*寻找已加载的驱动程序(lsmod | grep kvm)和(ls / dev / kvm)。

在任何情况下都不会加载Kvm。

我还尝试过在配置文件中通过-O3更改-O2,并剥离二进制文件中的符号(应该没有区别)。

我必须缺少一些东西(debian软件包的默认配置,编译选项……但我不知道是什么)。

造成这种性能差异的原因可能是什么? (有什么想法,经验吗?)

非常感谢你!

最佳答案

这里的问题是您要配置的'--enable-tcg-interpreter'参数。这将禁用主机CPU常用的基于JIT的TCG后端,而使用了缓慢的解释后端。除非QEMU根本不支持主机CPU,否则您永远不需要解释器。如您所见,它明显比默认的JIT慢。

关于linux - 从存储库下载和从源代码编译时,qemu性能为何不同?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30122003/

10-11 23:20
查看更多