9

Я заметил несколько статей, в которых утверждается, что QEMU работает медленнее, чем VirtualBox (без помощи аппаратного обеспечения), но некоторым уже несколько лет, и новейшая версия, похоже, появилась в прошлом году.

  • Правда ли, что QEMU медленнее, чем VirtualBox?
  • Если так, то почему?
  • Есть ли какие-то хитрости, чтобы закрыть разрыв в производительности?

Некоторые из моих хост-систем не поддерживают аппаратную виртуализацию, поэтому мне особенно интересны советы по производительности, которые работают без модуля ядра.

2 ответа2

9

Если вы говорите о виртуализации x86 на хосте x86, имейте в виду, что kqemu (старый модуль ядра ускорения для qemu) устарел. Виртуальная машина ядра (KVM) - это "путь вперед", но он работает только на хостах Linux. Гость может быть любой ОС, какой вы пожелаете, если это архитектура x86.

Кросс-архитектура, QEMU по-прежнему очень медленно; только сегодня я пытался установить последнюю версию qemu с Debian MIPS64 в гостевой системе ... ее можно было использовать из терминала, но в Xorg это было ужасно медленно. Насколько мне известно, вы не можете использовать инструкции по ускорению процессора, такие как расширенные таблицы страниц или VT-x, когда вы собираетесь кросс-архитектуры. Это все эмулируется в программном обеспечении.

Таким образом, для виртуализации от x86 до x86 "сырая" qemu медленная, но KVM (которая использует qemu) быстрая. Довольно быстро. Настолько быстро, что это рекомендованное Red Hat решение для виртуализации RHEL.

VirtualBox по-прежнему отбрасывает все, что может предложить qemu/kvm, с точки зрения производительности 2D /3D-графики с аппаратным ускорением, поскольку kvm фокусируется на виртуализации серверов, а virtualbox - на виртуализации десктопов. Но я определенно рекомендую вам проверить kvm, если вы имеете дело с сервером.

Изменить: Для ваших хостов, которые не имеют аппаратного ускорения, вы будете страдать от довольно больших накладных расходов независимо от того, какое решение Virt вы используете. Эмулировать аппаратные вещи в программном обеспечении сложно и дорого.

1

Предполагается, что хост с процессором с поддержкой виртуализации (Intel VT-x, AMD SVM), на котором запущено Qemu на ядре (Linux с KVM), работает достаточно быстро.

Мне неясны технические причины, по которым Qemu медленно работает с 2D (YouTube, электронная таблица, игры) и 3D-эмуляцией. Тем не менее, я могу предположить, что "видеодрайверы" просто недостаточно хороши - аппаратное графическое оборудование не используется оптимальным образом.

С другой стороны, недавняя разработка представила инфраструктуру SPICE для qemu. На самом деле это несколько лет и кажется достаточно зрелым. Преимущества работы с видео драйвером QXL огромны по моему опыту (2D-веб-разработка). Я не знаю, насколько хорошо он сравнивается с Virtualbox, но это определенно улучшение. Я думаю, что SPICE является обязательным для всех, кто работает под управлением Windows в Qemu.

Это исключительно мое мнение, и следует заметить, что я никогда даже не пытался запустить какое-либо воспроизведение 3D или видео в гостевой системе.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .