2015-05-08 9 views
-1

Я делаю некоторые тесты на производительность QEMU (qemu-system-i386) в режиме полной эмуляции (с TCG) и избегая 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.Почему производительность qemu отличается при загрузке из репозитория и скомпилирована из источника?

Я конфигурирую проект следующим образом: во всех случаях: ./configure --enable-sdl --target-list = i386-softmmu --disable-kvm --enable-tcg-interpreter

Версия, установленная из репозитория, довольно быстро, чем любая из скомпилированных версий. Я всегда использую одно и то же изображение для жесткого диска). Я гарантировал, что kvm никогда не включается и не загружается: * Querying qemu (info kvm) * Поиск загруженных драйверов (lsmod | grep kvm) и (ls/dev/kvm).

Kvm не загружается ни в одном из случаев.

Я также попытался изменить -O2 на -O3 в файле конфигурации и лишил символы в двоичном формате (что не должно быть разницей).

Должно быть, что-то не хватает (настройка по умолчанию для пакета debian, варианты компиляции ... но я не могу понять, что).

Какой может быть причина этого разницы в производительности? (Любая идея, опыт?)

Спасибо вам большое!

ответ

1

Проблема заключается в аргументе '--enable-tcg-interpreter' для настройки. Это отключает обычный базовый сервер TCG на базе JIT для центрального процессора в пользу медленного интерпретируемого бэкэнд. Вы никогда не хотите интерпретатора, если QEMU в противном случае не поддерживал бы ваш процессор хоста вообще; как вы обнаружили, он заметно медленнее, чем стандартная JIT.

+0

Спасибо! Переконфигурирован и работает! – dexakg