首页 文章

为什么从存储库下载并从源代码编译时qemu性能不同?

提问于
浏览
-1

我正在对完全仿真模式(使用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-interpreter

从存储库安装的版本比手动编译的任何版本快得多 . 我总是使用相同的图像为硬盘驱动器 . 我确保永远不会启用或加载kvm:*查询qemu(info kvm)*查找加载的驱动程序(lsmod | grep kvm)和(ls / dev / kvm) .

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

我还尝试在配置文件中将-O2更改为-O3,并剥离二进制中的符号(这应该不同) .

我必须遗漏一些东西(debian软件包的默认配置,编译选项......但我无法弄清楚是什么) .

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

非常感谢你!

1 回答

  • 1

    这里的问题是你的'--enable-tcg-interpreter'参数配置 . 这会禁用主机CPU的常用基于JIT的TCG后端,以支持缓慢解释的后端 . 除非QEMU根本不支持您的主机CPU,否则您永远不需要解释器;正如您所发现的,它明显慢于默认的JIT .

相关问题