Questão Por que um convidado do Ubuntu no VirtualBox roda muito, muito devagar?


Eu estou usando atualmente o Ubuntu 12.04 LTS como uma máquina host e eu virtualizei três máquinas:

  • um convidado Xubuntu 12.04
  • um convidado do Windows 7
  • um convidado do Ubuntu 12.10

Todos os convidados têm as mesmas configurações padrão do VirtualBox, mas o Ubuntu 12.10 é mais lento!

A instalação levou 1h 40 min! (Normalmente, leva 40 minutos). Agora é impossível usá-lo, e todas as operações são muito, muito lentas.

Estou usando o VirtualBox versão 4.2.4.

Alguma ideia?

Por que isso é lento? E como posso fazer isso mais rápido?


174
2017-10-28 19:26


origem


Você já tentou brincar com configurações? Você já tentou instalar as edições dos hóspedes? - usr12390
Sim eu instalei adições de guest, mas nada parece mudar ... o estranho é que eu instalei muitas máquinas virtuais com o Ubuntu ou outra distro mas só o Ubuntu 12.10 faz isso ... durante a instalação eu deixei tudo configuração por padrão, como sempre; as outras 2 máquinas virtuais funcionam bem ... - Giorgio
A resposta de Flimm abaixo resolveu a questão da lentidão para mim. askubuntu.com/a/214968/107015 - JS.


Respostas:


Eu ouvi dizer que tem algo a ver com o fato de eles terem removido Unidade 2Dou, de alguma forma, a mudança para o 3D Unity só reduz o desempenho da VM devido à grande dependência do processamento da CPU, mais do que costumava ser necessário. o Podcast Linux Outlaws falei um pouco sobre isso, mas esqueci o episódio.

Atualização: O problema é que o VirtualBox Guest Additions não fornece aceleração 3D no 12.10. Vejo Ubuntu 12.10 incapaz de usar a aceleração 3D. Não consegue criar DRM.


36
2017-10-28 20:02



Eu estou pensando a mesma coisa, porque a única diferença entre outros PCs Virtuais é que existe apenas unidade 3D ... e eu não posso usar a aceleração 3D porque meu processador é um modelo antigo sem essa função ... então , Vou pegar um novo processador :) - Giorgio
Eu não acho que isso é preciso - é falta de suporte para o X Server 1.13 (pelo VirtualBox), não Unity que causa o problema. É uma distinção importante porque é fácil substituir o Unity (por exemplo, com XFCE), mas não sei como fazer o downgrade da versão padrão do X Server. - Mzzzzzz
Por que você diz que é um problema X? Para mim, voltar ao gnome consertou, por exemplo. Então, foi um problema de substituir o Unity, em vez de X? - Nanne
@ marcopolo1010, o Xubuntu 12.10 tem XServer 1.13 e tem bom desempenho no VirtualBox (definitivamente muito mais rápido que o Ubuntu 12.10). Portanto, deve ser um problema da Unity. - ignis
Além disso, se você estiver em um mac, você pode tentar aumentar o número de CPUs que você dá para o convidado. Isso me ajudou tremendamente! Aqui é onde eu tenho a fonte para isso: code.dimilow.com/ubuntu-12-10-slow-as-virtualbox-guest-os - Matt Wolfe


O Ubuntu 12.10 não inclui mais o Unity 2D, que foi implementado para plataformas que não podem fornecer aceleração 3D. Em vez disso, o Ubuntu 12.10 possui o Unity executado sob o LLVM, fazendo com que o código seja destinado à execução da GPU na CPU. É muito mais lento do que usar a GPU.

Para verificar se o seu convidado Ubuntu 12.10 está usando a aceleração 3D, execute este comando:

$ /usr/lib/nux/unity_support_test -p
Not software rendered:    no
Not blacklisted:          yes
GLX fbconfig:             yes
GLX texture from pixmap:  yes
GL npot or rect textures: yes
GL vertex program:        yes
GL fragment program:      yes
GL vertex buffer object:  yes
GL framebuffer object:    yes
GL version is 1.4+:       yes

Unity 3D supported:       no

Como você pode ver, "Não renderizado por software" e "Unity 3D suportado" retornam "não" neste exemplo, o que significa que o Unity está usando o LLVMpipe lento.

Como habilitar a aceleração 3D (somente no VirtualBox 4.2.x)

Estas instruções destinam-se ao VirtualBox 4.2.4 ou 4.2.6, instalado a partir do site do VirtualBox, e não a partir do repositório do Ubuntu. Versões futuras do VirtualBox podem corrigir esse problema automaticamente ou podem precisar de uma solução alternativa diferente.

  1. Instale o VirtualBox Oracle VM VirtualBox Extension Pack.
  2. Crie uma instância do VirtualBox e instale o Ubuntu 12.10 nela.
  3. Instale alguns pacotes necessários para as adições de convidados:

    sudo apt-get install linux-headers-$(uname -r) build-essential
    
  4. Instale as adições de convidado clicando em Dispositivos, Instalar Adições de Convidado e executando este comando a partir do diretório do CD-ROM:

    sudo ./VBoxLinuxAdditions.run
    
  5. Adicione o vboxvideo driver para a instância executando:

    sudo bash -c 'echo vboxvideo >> /etc/modules'
    
  6. Desligue a instância do VirtualBox.
  7. Abra as configurações da instância do Virtualbox, navegue até "Display" e marque "Enable 3D acceleration".
  8. Inicialize seu convidado do Ubuntu 12.10 e verifique se a aceleração 3D está funcionando executando:

    /usr/lib/nux/unity_support_test -p
    

Se as janelas parecem dispare, instale o Gerenciador de Configurações CompizConfig e desabilite o Framebuffer Object (FBO) na seção OpenGL:

  1. Instale o Gerenciador de Configurações CompizConfig:

    sudo apt-get install compizconfig-settings-manager
    
  2. Execute o Gerenciador de Configurações CompizConfig:

    ccsm
    
  3. Selecione a seção OpenGL e, em seguida, desmarque a opção Objeto Framebuffer. Se isso corrigir o problema, ele deverá estar imediatamente visível. Nenhuma reinicialização é necessária.

281
2017-11-09 11:43



Esta é uma ótima solução e merece vários upvotes. - hexafraction
Na minha nova instalação do Ubuntu 12.10 (usando o VirtualBox 4.2.4 no Mac OS X 10.6), isso definitivamente acelerou as coisas ... mas há muitos bugs na tela. O Windows desaparece, o launcher não aparece a menos que o dash esteja aberto, etc. - Benjamin Oakes
"Não processado por software" é um nome de propriedade muito confuso: S - Adam Harte
@reprogrammer: Eu tive o mesmo problema. Experimente os pacotes adicionais do repositório do Ubuntu, em vez dos mais recentes que vêm com o VirtualBox. Faça isso executando: sudo apt-get remove virtualbox-guest-additions (isso remove os que você instalou) sudo apt-get install virtualbox-guest-additions (isto instala os do repositório padrão) Em seguida, abra os drivers adicionais nas configurações (ou através de fontes de software> drivers adicionais nos últimos lançamentos do Ubuntu) e selecione o óbvio. - labsin
Eu não consegui fazer isso funcionar com o VirtualBox 4.3.12. A solução para mim para o VirtualBox 4.3.12 é instalar uma nova versão do GuestAdditions como referenciado aqui: virtualbox.org/ticket/12941 Especificamente, virtualbox.org/download/testcase/… - Gordon Glas


Parece que os desenvolvedores de software do VirtualBox estão trabalhando em uma solução, mas ainda não está pronta - veja a postagem no fórum Discuta a versão 4.2.4.

Há uma discussão discutindo isso em quatro post Ubuntu 12.10 "virtualmente" inutilizável


11
2017-10-29 14:58





Não sei sobre as configurações da GUI necessárias para tornar o Unity utilizável dentro de uma VM, mas sei como ajustar as VMs no VirtualBox, KVM e outros. Eu nunca tive sorte em fazer o Unity funcionar bem em qualquer ambiente virtual. Nunca tentei muito, preferindo usar WM puro ou DE baseado em LXDE.

Configurações mais detalhadas estão aqui: http://blog.jdpfu.com/2012/09/14/solution-for-slow-ubuntu-in-virtualbox

Resumo: 

  • Os padrões do Vbox não são bons para versões do Ubuntu que gostam de um GPU real.
  • Nos HDDs giratórios, pré-alocar todo o disco virtual. Em SSDs, não importa.
  • Aloque apenas o armazenamento que você precisa. Mantenha arquivos grandes em outro lugar, fora do vStorage.
  • Nunca aloque mais CPUs ou RAM do que deveria. 1 vCPU é provavelmente o suficiente.
  • Deixe 1GB de RAM para o HostOS. Não comprometer mais RAM.
  • Use o Drivers do VirtIO para armazenamento e rede. Os hóspedes modernos do Linux suportam isso.
  • Para convidados do Windows, use os drivers SATA (armazenamento) e Intel PRO / 1000 (rede). É possível usar drivers do virtio no Windows, é um pouco mais difícil.
  • Ativar ACPI e AHCI para todos os convidados de 2003, WinXP e posterior.
  • As VMs de área de trabalho devem receber todos os 128 MB de exibição de vRAM
  • As VMs do servidor devem permanecer com 9 MB de vRAM; não desperdice.
  • Evite configurações de aceleração 2D e 3D, até que você tenha tudo funcionando da maneira que preferir. O Ubuntu / Unity faz coisas ruins quando isso é ativado. Pode trazer um Core i7 para o chão.

Há muitas dicas de desempenho da GUI nas outras respostas. Esses provavelmente são válidos também. Essas mesmas dicas se aplicam ao KVM, VM-Player e outros hipervisores virtuais. Estes funcionam também para servidores.

Boa sorte.


7
2018-02-10 19:16



A postagem do blog que você vinculou é para o Ubuntu 12.04. O Ubuntu 12.10 é significativamente diferente, porque não inclui mais o Unity 2D, e o Unity normal renderiza o LLVMPipe quando ele não detecta a aceleração de hardware. - Flimm
Meu convidado do Ubuntu Server tornou-se Muito de mais rápido depois que eu mudei a memória de vídeo de ~ 8MB para 128MB. Eu uso isso para o desenvolvimento do Rails.


Tive bons resultados ao voltar do Unity para o Fallback do GNOME. Você pode fazer isso apenas instalando o fallback de sessão do GNOME a partir do centro de software e, em seguida, escolhendo-o na tela de login.

Vejo: http://www.psychocats.net/ubuntu/classicgnome para um howto detalhado aleatório


4
2017-10-29 14:16



No Ubuntu 16.04 o nome do pacote é gnome-session-flashback. Essa é a única coisa que parece fazer diferença no desempenho da interface do usuário para mim. obrigado! - Mustafa


Para habilitar o 3D suportado, primeiro você precisará atualizar os cabeçalhos linux

$ uname -r
$ sudo apt-get install linux-headers-$(uname -r)
$ sudo apt-get autoremove
$ sudo apt-get install build-essential

Agora insira o iso convidado do vitualbox a partir de dispositivos e instale manualmente

$ cd /media
$ ls
$ cd username
$ ls
$ cd VBOX*
$ ls
$ sudo ./VBoxLinuxAdditions.run

Insira o vboxvideo em / etc / modules

$ sudo nano /etc/modules

Adicione "vboxvideo" no final do arquivo

loop
lp
vboxvideo

Reinicie a máquina

$ sudo reboot

Cheque "Não software prestado" e "Unity 3D suportado" estão habilitados ou não após a reinicialização

$ /usr/lib/nux/unity_support_test -p

A próxima coisa que você quer fazer é aumentar a memória de vídeo. Procure por arquivo .vbox

$ nano /home/username/VirtualBox VMs/ubuntu/ubuntu.vbox

Substituir

<Display VRAMSize="128" monitorCount="1" accelerate3D="true" accelerate2DVideo="false"/>

Para

<Display VRAMSize="256" monitorCount="1" accelerate3D="true" accelerate2DVideo="false"/>

fonte: Como corrigir o desempenho lento do Ubuntu 13.04 em execução no VirtualBox


1
2018-02-21 02:58