Como melhoro o desempenho do meu convidado do VirtualBox?

38

Eu corro um convidado ubuntu 12.04 em um host ubuntu 12.04, com VirtualBox, e o convidado é muito, muito mais lento que o host ( ALT+TABleva 4-5 segundos). Dei uma olhada e encontrei opiniões contraditórias sobre o VirtualBox versus o VMware (gratuito); então eu pensei em manter o primeiro.

Ambos os sistemas são atualizados, instalei as adições no convidado e dividi igualmente a memória e a memória de vídeo (64 MB) entre convidado e host. Estou executando um laptop Toshiba m200 com 4 GB de RAM e memória de vídeo compartilhada. O BIOS do host não inclui uma opção de configuração para virtualização da máquina. Eu tenho 2 cpus e não posso dar os dois para a máquina virtual.

Há algo que eu esqueci que poderia resolver meu problema?

Sinta-se livre para pedir mais informações e obrigado por qualquer ajuda.

EDITAR Em marcha lenta com o monitor do sistema aberto, a CPU (única) convidada nunca fica abaixo de 55% e pode subir para 80 - 90% apenas movendo o mouse. A abertura do Firefox fará com que o monitor do sistema mostre 100% do uso da CPU no convidado, enquanto o host mostra que os dois estão trabalhando uniformemente em torno de 60%.

Meu processador é Intel® Core™2 Duo CPU T5450 @ 1.66GHz × 2.

Se isso não for um problema de configuração, isso significa que minha máquina está fraca demais para virtualização?

ecológico
fonte
mesmo instalar unity2d (que ajudou) e tentando configuração diferente do vm ainda é muito lento para o meu gosto, então eu abandonou a idéia por agora
ecoologic
Eu acho que a resposta de JohnP é a mais apropriada aqui.
Léo Léopold Hertz # 25/16

Respostas:

29

Não sei muito sobre o Player, mas os padrões do Vbox não são bons para versões do Ubuntu que preferem uma GPU real.

  • Ao girar HDDs, pré-aloque todo o disco virtual. Em SSDs, isso não importa. As alocações esparsas de VDI / qcow2 reduzem o desempenho, mas as reduções envolvidas parecem ser inferiores a 10% desde 2015. Pese o desempenho versus a conveniência.
  • Aloque apenas o armazenamento necessário. Mantenha arquivos grandes em outro lugar, fora do vStorage.
  • Nunca aloque mais CPUs ou RAM do que deveria. 1 vCPU é provavelmente suficiente.
  • Deixe 1 GB de RAM para o HostOS. Não comprometa demais a RAM.
  • Use os drivers VirtIO para armazenamento e rede. Convidados modernos do Linux suportam isso. Para convidados do Windows, use os drivers SATA (armazenamento) e Intel PRO / 1000 (rede). É possível usar drivers virtio no Windows, é um pouco mais difícil.
  • Habilite ACPI e AHCI para todos os convidados a partir de 2003, WinXP e posterior.
  • As VMs de desktop devem obter todos os 128 MB de vRAM de exibição
  • As VMs de servidor devem ficar com 9 MB de vRAM; não desperdice.
  • Evite configurações de aceleração 2D e 3D, até que tudo funcione da maneira que desejar. Estou falando sério. O Ubuntu faz coisas ruins quando isso está ativado. Pode trazer um Core i7 para o chão.

Para mais detalhes: http://blog.jdpfu.com/2012/09/14/solution-for-slow-ubuntu-in-virtualbox

JohnP
fonte
1
como pré-alocar todo o disco virtual?
Toskan
5
"Use os drivers VirtIO para armazenamento" - A menos que eu esteja perdendo algo óbvio, o VirtualBox não implementa armazenamento paravirtualizado. Se isso acontecer, por favor me diga onde, porque eu adoraria usá-lo.
Cdhowie
Aloque apenas o armazenamento necessário . Eu discordo disso. Você pode configurar o disco para 50 GB dinamicamente. Você terá problemas de estabilidade se alocar muito pouco espaço em primeiro lugar. O espaço dinamicamente expansível não leva o máximo de tempo, mas apenas o necessário.
Léo Léopold Hertz # 25/16
A única maneira de saber como pré-alocar o disco é usar a ferramenta vboxmanage e copiar o arquivo VDI antigo em um novo arquivo VDI totalmente alocado.
23417
Vi que o vbox inclui drivers virtio recentemente.
JohnP
7

Um convidado virtual com esse baixo nível de recursos será executado lentamente. Para obter o melhor desempenho, você realmente oferece ao seu host um pouco mais de recursos do que o convidado. Além disso, você não poderá fornecer os dois CPUs à sua máquina virtual, pois a máquina host precisa de algo para executar tudo.

Pense desta maneira. Sua máquina host precisa executar seu próprio sistema mais o contêiner para o hóspede. O convidado entra em uma briga de recursos com a máquina host. Tente dar menos ao convidado e ver como ele funciona.

Para um melhor desempenho, você desejará uma máquina de 64 bits com mais de 4 GB de memória.

Nate
fonte
Na verdade, eu tentei várias configurações antes de perguntar à comunidade: o ram não deve ser um problema neste estágio (a maior parte não é utilizado), pela sua resposta, entendi que o problema deve depender principalmente da CPU (geralmente a 100%), Eu ensinei meu laptop era poderoso o suficiente, talvez seja aqui que eu estou errado ...
ecoologic
Um pensamento pode ser observar o uso de recursos no host e no convidado e ver o que está sendo esgotado onde. Que tipo de processador você possui?
Nate
não é a máquina mais rápida que você já viu, mas nunca me decepcionou (resposta atualizada).
ecológico 18/09/12
Sim, eu diria que sua máquina não é poderosa o suficiente para virtualização rápida. Obviamente, você o tem em funcionamento, portanto depende de você se você deseja viver com a velocidade.
Nate
2
@ecoologic: Unity2D roda muito mais rápido - você tentou?
Takkat 18/09/12
4

Além das respostas anteriores para obter as melhores configurações do VirtualBox, há um ótimo post de Nam Huy sobre como fazer com que a aceleração 3D funcione para um convidado do Ubuntu. Isso é especialmente útil para o Ubuntu 13.04, pois não há mais opção para instalar o Unity 2D, deixando uma nova instalação sem nenhuma carga de trabalho real com carga de 80 a 100% da CPU devido à renderização do software, tornando-o praticamente inútil para mim.

A idéia básica é instalar adições de convidados, carregar "vboxvideo" em etc/modules, reiniciar e ativar a aceleração 3D nas configurações de exibição do VirtualBox. Observe que a ativação da aceleração 3D deve ser a última etapa depois de configurar tudo o mais no convidado.

Para mim, isso trouxe um enorme aumento de desempenho, no modo de tela cheia eu nem sei dizer a diferença entre o meu SO nativo e o convidado do Ubuntu.

pederpansen
fonte
Para aqueles que também recebem "Erro de conexão com o banco de dados", há uma versão em cache da máquina Way Back: web.archive.org/web/20160320085343/https://namhuy.net/951/…
Pavel
4

Eu experimentei o mesmo problema

Host: Ubuntu 14.10 (64 bits), Convidado: Windows 7 (64 bits)

Mesmo com a virtualização ativada no BIOS do host, a carga da CPU estava constantemente em torno de 40-50% no estado ocioso do convidado

O que me ajudou foi a instalação do Guest Addition com suporte ao Direct 3D (você precisa fazer isso no modo de segurança) e a ativação do cache de E / S do host do controlador SATA

Então, minhas configurações atuais são:

Sistema

Memória base: 4096 Mb (memória total do host de 8192 Mb)

Processador: 6 CPUs (do host 6 CPUs)

PAE / NX: ativado

VT-x / AMD-V: ativado

Paginação aninhada: ativada

Exibição

Memória de vídeo: 128 Mb

Aceleração 3D: Ativada

Aceleração 2D: Ativada

Funciona como um encanto! Versão do Virtual Box: 4.3.18_Ubuntu r96516

Timofey Bondarenko
fonte
0

Embora a resposta inicial seja muito detalhada, sinto que a resposta direta é honestamente que o sistema / laptop é muito lento e com pouca potência, não pode ser feito muito a menos que haja um problema de configuração ou um bug na sua versão do Virtualbox. Você pode tentar otimizar, mas a RAM do host e os 2 núcleos da CPU em 1,66 Ghz simplesmente não serão suficientes. Com essa utilização da CPU, é muito provável que você troque e não tenha RAM suficiente.

Em resumo, você pode tentar outro gerenciador de janelas que seja mais leve e também considerar tentar outros sistemas operacionais para verificar se há algum problema de configuração no seu Virtualbox e atualizar para a versão mais recente.

Areeb Soo Yasir
fonte