Proč host Ubuntu v VirtualBox běží velmi, velmi pomalu?

174

Používám současně Ubuntu 12.04 LTS jako hostitelský stroj a virtualizoval jsem tři stroje:

  • host Xubuntu 12.04
  • host Windows 7
  • host Ubuntu 12.10

Všichni hosté mají stejné výchozí nastavení VirtualBoxu, ale Ubuntu 12.10 je pomalejší!

Instalace trvala 1h 40 min! (Obvykle to trvá 40 minut.) Nyní je nemožné ji používat a všechny operace jsou velmi, velmi pomalé.

Používám verzi VirtualBox verze 4.2.4.

Nějaké nápady?

Proč je to pomalé? A jak to mohu urychlit?

    
dané Giorgio 28.10.2012 20:26

6 odpovědí

36

Slyšel jsem, že to má co do činění s tím, že odstranili Unity 2D nebo nějakým způsobem přepnutí na 3D jednotku zpomaluje pouze výkon VM kvůli velkému spoléhání se na manipulaci s CPU více, než to muselo. Podvody pro Linux Outlaws o tom mluvili trochu, ale zapomněl jsem na epizodu.

Aktualizace: Problémem je skutečnost, že přidání virtuálních karet neobsahuje 3D akceleraci v 12.10. Viz Ubuntu 12.10 nelze použít 3D akceleraci. Chyba při vytváření DRM .

    
odpověděl Bret 28.10.2012 21:02
281

Ubuntu 12.10 již nezahrnuje Unity 2D , který byl implementován pro platformy, které nemohou poskytnout 3D akceleraci. Místo toho Ubuntu 12.10 má Unity spuštěn pod LLVM, což je kód určený pro běh GPU na CPU. Je mnohem pomalejší než použití GPU.

Chcete-li zkontrolovat, zda váš host Ubuntu 12.10 používá 3D akceleraci, spusťte tento příkaz:

$ /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

Jak vidíte, v tomto příkladu se v tomto příkladu vrátí "ne vydaný software" a "Unity 3D supported", což znamená, že jednotka používá pomalou LLVMpipe.

Jak povolit 3D akceleraci (pouze VirtualBox 4.2.x)

Tyto pokyny jsou určeny pro VirtualBox 4.2.4 nebo 4.2.6, nainstalované z webových stránek VirtualBoxu, nikoli z repo Ubuntu. Budoucí verze systému VirtualBox mohou tento problém vyřešit automaticky nebo může vyžadovat jiné řešení.

  1. Nainstalujte VirtualBox Oracle VM VirtualBox Extension Pack.
  2. Vytvořte instanci VirtualBox a nainstalujte na ni Ubuntu 12.10.
  3. Nainstalujte některé požadované balíčky pro hosty:

    sudo apt-get install linux-headers-$(uname -r) build-essential
    
  4. Nainstalujte přidané hosty klepnutím na položku Zařízení, Instalace doplňků pro hosty a spuštění tohoto příkazu z adresáře CD-ROM:

    sudo ./VBoxLinuxAdditions.run
    
  5. Přidejte ovladačvboxvideo do instance spuštěním:

    sudo bash -c 'echo vboxvideo >> /etc/modules'
    
  6. Vypnutí instance VirtualBox.
  7. Otevřete nastavení instance Virtualbox, přejděte na možnost "Zobrazit" a zaškrtněte políčko "Povolit 3D akceleraci".
  8. Spusťte hosta Ubuntu 12.10 a zkontrolujte, zda 3D akcelerace funguje spuštěním:

    /usr/lib/nux/unity_support_test -p
    

Pokud se zdá, že okna disppear nainstalujte Správce nastavení CompizConfig a v sekci OpenGL deaktivujte objekt Framebuffer (FBO):

  1. Nainstalujte Správce nastavení programu CompizConfig:

    sudo apt-get install compizconfig-settings-manager
    
  2. Spusťte Správce nastavení programu CompizConfig:

    ccsm
    
  3. Vyberte sekci OpenGL a potom zrušte volbu objektu Framebuffer. Pokud tento problém řeší, měl by být okamžitě viditelný. Není vyžadován restart.
odpověděl Flimm 09.11.2012 12:43
11

Vypadá to, že vývojáři softwaru VirtualBox pracují na řešení, ale zatím nejsou připraveni - viz fórum post Diskutujte o verzi 4.2.4 .

Existuje podproces, který o tom diskutuje ve čtyřech příspěvcích Ubuntu 12.10 »prakticky nepoužitelný

    
odpověděl Andrew B 29.10.2012 15:58
7

Nevím o nastavení GUI potřebném pro to, aby se Unity použila uvnitř VM, ale vím, jak naladit VM pod virtuální kartou, KVM a dalšími. Nikdy jsem neměl žádné štěstí dělat jednotu dobře v libovolném virtuálním prostředí. Nikdy se nepokusila příliš tvrdá, preferovala použití čistého WM nebo DE založeného na LXDE.

Podrobnější nastavení naleznete zde: Odkaz

Shrnutí:

  • Výchozí nastavení služby Vbox nejsou dobré pro verze Ubuntu, které se podobají skutečnému GPU.
  • Při spřádání pevných disků předem přidělujte celý virtuální disk. Na discích SSD nezáleží.
  • Přiřaďte pouze potřebné úložiště. Uložte velké soubory jinde mimo vStorage.
  • Nikdy nepridelete více CPU nebo paměti RAM než byste měli. 1 vCPU je pravděpodobně dost.
  • Ponechte 1 GB paměti RAM pro HostOS. Nepřepínejte RAM.
  • Použijte ovladače VirtIO pro úložiště a vytváření sítí. Moderní hosté Linuxu to podporují.
  • Pro hosty systému Windows použijte ovladače SATA (úložiště) a Intel PRO / 1000 (síťové). V systému Windows je možné používat ovladače virtio, je to o něco těžší.
  • Povolení ACPI a AHCI pro všechny hosty od roku 2003, WinXP a novější.
  • Virtuální počítače VM by měly získat všechny 128 MB zobrazení vRAM
  • Serverové VM by měly zůstat s 9MB vRAM; neztrácejte to.
  • Vyhněte se nastavení 2D a 3D akcelerace, dokud nebudete vše fungovat tak, jak se vám líbí. Ubuntu / Unity dělá špatné věci, když je to zapnuté. Může přinést Core i7 na zem.

V ostatních odpovědích existuje spousta tipů s grafickým uživatelským rozhraním. Ty jsou pravděpodobně také platné. Tytéž tipy platí pro KVM, VM-Player a další virtuální hypervisory. Ty také pracují pro servery.

Hodně štěstí.

    
odpověděl JohnP 10.02.2013 20:16
4

Dosáhl jsem dobrých výsledků tím, že jsem se vrátil zpět z jednotky Unity na záložní GNOME. To lze provést pouze instalací softwaru GNOME-backback ze softwarového centra a výběrem na obrazovce přihlášení.

naleznete: Odkaz pro náhodné podrobné návody

    
odpověděl Nanne 29.10.2012 15:16
1

Chcete-li povolit podporu 3D, pěst, budete muset aktualizovat hlavičky linuxu

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

Nyní vložte iso host z vitaluboxu do zařízení a ručně nainstalujte

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

Vložte vboxvideo do / etc / modules

$ sudo nano /etc/modules

Přidat "vboxvideo" na konci souboru

loop
lp
vboxvideo

Restartujte počítač

$ sudo reboot

Zaškrtnutím políčka "Nevyžadováno vykreslování softwaru" a "Podpora Unity 3D" se po restartu povolí

$ /usr/lib/nux/unity_support_test -p

Další věc, kterou chcete udělat, je zvýšit video paměť. Hledejte soubor .vbox

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

Nahradit

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

Chcete-li

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

zdroj: Jak opravit pomalý výkon ubuntu 13.04 běží ve virtuální schránce

    
odpověděl user223973 21.02.2014 03:58