O desempenho do QEMU (ainda) está atrasado no VirtualBox e existe uma maneira de melhorá-lo sem o suporte de hardware + módulo de kernel kvm?

9

Tenho notado vários artigos que afirmaram que o QEMU é mais lento que o VirtualBox (sem assistência de hardware), mas vários têm anos e o mais recente parece ser do ano passado.

  • É verdade que o QEMU é mais lento que o VirtualBox?
  • Em caso afirmativo, por que?
  • Existem truques para preencher a lacuna de desempenho?

Alguns dos meus sistemas host não têm suporte a virtualização de hardware, então estou especialmente interessado em dicas de desempenho que funcionam sem o módulo do kernel.

    
por Catskul 10.07.2012 / 22:05

2 respostas

9

Se você está falando sobre a virtualização x86 em um host x86, esteja ciente de que o kqemu (o antigo módulo de aceleração do kernel para o qemu) está obsoleto. KVM (Kernel Virtual Machine) é "o caminho a seguir", mas funciona apenas em hosts Linux. O convidado pode ser qualquer sistema operacional desejado, desde que seja a arquitetura x86.

Arquitetura cruzada, o qemu ainda é muito lento; apenas hoje eu estava tentando o qemu mais recente com o Debian MIPS64 no guest .... ele era utilizável de um terminal mas horrivelmente lento no Xorg. Pelo que eu sei, você não pode usar as instruções de aceleração do processador, como tabelas de páginas estendidas ou VT-x, quando você usa a arquitetura cruzada. Tudo é emulado em software.

Portanto, para a virtualização de x86 para x86, o qemu "bruto" é lento, mas o KVM (que usa qemu) é rápido. Muito rápido. Tão rápido que é a solução de virtualização recomendada pela Red Hat para o RHEL.

O VirtualBox ainda afasta tudo o que o qemu / kvm pode oferecer em termos de desempenho gráfico de 2d / 3d acelerado por hardware, porque a kvm se concentra na virtualização de servidores e o virtualbox se concentra na virtualização de desktops. Mas eu definitivamente recomendo que você verifique o kvm se você estiver lidando com um servidor.

Editar: Para os seus hosts que não possuem nenhuma aceleração de hardware, você sofrerá com uma grande sobrecarga, independentemente de qual solução virt você usa. Emular as coisas de hardware no software é difícil e caro.

    
por 10.07.2012 / 22:52
1

Assumindo um host com uma CPU compatível com virtualização (Intel VT-x, AMD SVM), executando o Qemu em um kernel (Linux com KVM), é razoavelmente rápido.

As razões técnicas para o Qemu ser lento com 2D (youtube, planilha eletrônica, jogos) e emulação 3D são obscuras para mim. No entanto, posso supor que os "drivers de vídeo" simplesmente não são bons o suficiente - o hardware gráfico no hardware não é usado de maneira ideal.

Pelo lado positivo, um recente desenvolvimento introduziu o framework SPICE no qemu. Na verdade, tem alguns anos e parece razoavelmente maduro. Os benefícios de desempenho de vídeo da execução com o driver de vídeo QXL são enormes em minha experiência (desenvolvimento da web em 2D). Eu não sei quão bem se compara ao Virtualbox, mas é definitivamente uma melhoria. Acho que o SPICE é obrigatório para qualquer um que execute o Windows no Qemu.

Esta é apenas a minha opinião e deve-se notar que eu nunca tentei executar qualquer reprodução em 3D ou vídeo no convidado.

    
por 01.05.2013 / 16:13