Frage Warum läuft ein Ubuntu-Gast in VirtualBox sehr, sehr langsam?


Ich benutze derzeit Ubuntu 12.04 LTS als Host-Maschine, und ich habe drei Maschinen virtualisiert:

  • ein Xubuntu 12.04 Gast
  • ein Windows 7 Gast
  • ein Ubuntu 12.10 Gast

Alle Gäste haben die gleichen VirtualBox-Standardeinstellungen, aber Ubuntu 12.10 ist langsamer!

Die Installation dauerte 1h 40 min! (Normalerweise dauert es 40 Minuten.) Jetzt ist es unmöglich, es zu benutzen, und alle Operationen sind sehr, sehr langsam.

Ich verwende VirtualBox Version 4.2.4.

Irgendwelche Ideen?

Warum ist es langsam? Und wie kann ich es schneller machen?


174
2017-10-28 19:26


Ursprung


Hast du versucht, mit Konfigurationen herumzuspielen? Hast du versucht, Gast-Editionen zu installieren? - usr12390
Ja, ich habe Gast Ergänzungen installiert, aber nichts scheint sich zu ändern ... die seltsame Sache ist, dass ich viele virtuelle Maschinen mit Ubuntu oder anderen Distributionen installiert habe, aber nur Ubuntu 12.10 tut dies ... während der Installation habe ich alles verlassen Einstellung wie immer; die anderen 2 virtuellen Maschinen funktionieren gut ... - Giorgio
Flimms Antwort unten behob das Problem der Langsamkeit für mich. askubuntu.com/a/214968/107015 - JS.


Antworten:


Ich habe gehört, dass es etwas damit zu tun hat, dass sie entfernt wurden Einheit 2Doder der Wechsel zu 3D Unity verlangsamt nur die VM-Leistung, da das CPU-Handling mehr als früher vonstatten geht. Das Linux Outlaws Podcast Ich habe ein bisschen darüber gesprochen, aber ich habe die Episode vergessen.

Update: Das Problem besteht darin, dass Virtualbox Guest Additions in 12.10 keine 3D-Beschleunigung liefert. Sehen Ubuntu 12.10 kann keine 3D-Beschleunigung verwenden. Fehler beim Erstellen von DRM.


36
2017-10-28 20:02



Ich denke das Gleiche, weil der einzige Unterschied zwischen anderen Virtual PC ist, dass es nur Unity 3D gibt ... und ich kann die 3D-Beschleunigung nicht verwenden, weil meine CPU ein altes Modell ohne diese Funktion ist ... also Ich nehme einen neuen Prozessor :) - Giorgio
Ich denke nicht, dass das genau ist - es ist fehlende Unterstützung für X Server 1.13 (von VirtualBox), nicht Unity, die das Problem verursacht. Dies ist ein wichtiger Unterschied, da Unity leicht ausgetauscht werden kann (z. B. mit XFCE), aber ich weiß nicht, wie ich die Standardversion des X-Servers herunterstufen soll. - Mzzzzzz
Warum sagst du, dass es ein X-Problem ist? Für mich fiel es zum Beispiel auf Gnome zurück. Es war also ein Problem, Unity anstelle von X zu ersetzen. - Nanne
@ marcopolo1010, Xubuntu 12.10 hat XServer 1.13 und hat eine gute Leistung in VirtualBox (definitiv viel schneller als Ubuntu 12.10). Also muss es ein Unity-Problem sein. - ignis
Auch wenn Sie auf einem Mac sind, können Sie versuchen, die Anzahl der CPUs zu erhöhen, die Sie dem Gast geben. Das hat mir enorm geholfen! Hier habe ich die Quelle dafür: code.dimilow.com/ubuntu-12-10-slow-as-virtualbox-guest-os - Matt Wolfe


Ubuntu 12.10 enthält nicht mehr Unity 2D, die für Plattformen implementiert wurde, die keine 3D-Beschleunigung bereitstellen können. Stattdessen wird in Ubuntu 12.10 Unity unter LLVM ausgeführt, sodass der für die GPU bestimmte Code auf der CPU ausgeführt wird. Es ist viel langsamer als die GPU.

Um zu überprüfen, ob dein Ubuntu 12.10-Gast die 3D-Beschleunigung verwendet, führe diesen Befehl aus:

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

Wie Sie sehen können, geben "Nicht gerenderte Software" und "Unity 3D unterstützt" beide in diesem Beispiel "nein" zurück, was bedeutet, dass Unity langsames LLVMpipe verwendet.

So aktivieren Sie die 3D-Beschleunigung (nur VirtualBox 4.2.x)

Diese Anweisungen sind für VirtualBox 4.2.4 oder 4.2.6 gedacht, die von der VirtualBox-Website und nicht von Ubuntus Repo installiert werden. Zukünftige Versionen von VirtualBox beheben dieses Problem möglicherweise automatisch oder benötigen eine andere Problemumgehung.

  1. Installieren Sie VirtualBox Oracle VM VirtualBox Erweiterungspaket.
  2. Erstellen Sie eine VirtualBox-Instanz und installieren Sie Ubuntu 12.10 darauf.
  3. Installieren Sie einige erforderliche Pakete für die Gast-Ergänzungen:

    sudo apt-get install linux-headers-$(uname -r) build-essential
    
  4. Installieren Sie die Gastzusätze, indem Sie auf Geräte klicken, Gastzugänge installieren und diesen Befehl im CD-ROM-Verzeichnis ausführen:

    sudo ./VBoxLinuxAdditions.run
    
  5. Ergänzen Sie die vboxvideo Treiber zu der Instanz durch Ausführen von:

    sudo bash -c 'echo vboxvideo >> /etc/modules'
    
  6. Beenden Sie die VirtualBox-Instanz.
  7. Öffnen Sie die Einstellungen der Virtualbox-Instanz, navigieren Sie zu "Anzeige" und aktivieren Sie "3D-Beschleunigung aktivieren".
  8. Starten Sie Ihren Ubuntu 12.10-Gast und überprüfen Sie, ob die 3D-Beschleunigung funktioniert:

    /usr/lib/nux/unity_support_test -p
    

Wenn Fenster scheinen disppear, installieren Sie CompizConfig Settings Manager und deaktivieren Sie Framebuffer Object (FBO) im OpenGL-Abschnitt:

  1. Installieren Sie den CompizConfig-Einstellungsmanager:

    sudo apt-get install compizconfig-settings-manager
    
  2. Führen Sie den CompizConfig-Einstellungsmanager aus:

    ccsm
    
  3. Wählen Sie den OpenGL-Abschnitt und deaktivieren Sie dann die Option Framebuffer-Objekt. Wenn dies das Problem behebt, sollte es sofort sichtbar sein. Kein Neustart ist erforderlich.

281
2017-11-09 11:43



Dies ist eine großartige Lösung und verdient mehrere Upvotes. - hexafraction
Bei meiner neuen Installation von Ubuntu 12.10 (unter Verwendung von VirtualBox 4.2.4 unter Mac OS X 10.6) hat dies definitiv die Dinge beschleunigt ... aber es gibt eine Menge Bugs mit dem Display. Windows verschwindet, der Launcher wird nur angezeigt, wenn das Dash geöffnet ist usw. - Benjamin Oakes
"Nicht Software gerendert" ist ein sehr verwirrender Name der Eigenschaft: S - Adam Harte
@reprogrammer: Ich hatte das gleiche Problem. Probieren Sie die zusätzlichen Pakete von Ubuntu's Repo anstelle der neuesten, die mit VirtualBox geliefert werden. Führen Sie dazu Folgendes aus: sudo apt-get remove virtualbox-guest-additions (Dadurch werden die von Ihnen installierten entfernt.) sudo apt-get install virtualbox-guest-additions (Dies installiert die aus dem Standard-Repo) Als nächstes öffnen Sie die zusätzlichen Treiber in den Einstellungen (oder durch Software-Quellen> zusätzliche Treiber auf den neuesten Versionen von Ubuntu) und wählen Sie die offensichtliche. - labsin
Ich konnte das mit VirtualBox 4.3.12 nicht schaffen. Die Lösung für VirtualBox 4.3.12 besteht darin, eine neuere Version von GuestAdditions wie hier beschrieben zu installieren: virtualbox.org/ticket/12941 Speziell, virtualbox.org/download/testcase/... - Gordon Glas


Es sieht so aus, als würden die Entwickler der VirtualBox-Software an einer Lösung arbeiten, aber sie ist noch nicht fertig - siehe Forenbeitrag Diskutieren Sie die Version 4.2.4.

Es gibt einen Thread, der dies in vierm Post diskutiert Ubuntu 12.10 "virtuell" unbrauchbar


11
2017-10-29 14:58





Ich weiß nichts über die GUI-Einstellungen, die erforderlich sind, um Unity in einer VM nutzbar zu machen, aber ich weiß, wie man VMs unter Virtualbox, KVM und anderen abstimmt. Ich hatte nie Glück, dass Unity in jeder virtuellen Umgebung gut funktioniert. Habe mich nie zu sehr angestrengt und bevorzuge entweder reines WM oder ein LXDE-basiertes DE.

Weitere detaillierte Einstellungen finden Sie hier: http://blog.jdpfu.com/2012/09/14/solution-for-slow-ubuntu-in-virtualbox

Zusammenfassung: 

  • Vbox-Standardeinstellungen sind nicht gut für Ubuntu-Versionen, die wie eine echte GPU aussehen.
  • Beim Drehen von HDDs Reservieren Sie die gesamte virtuelle Festplatte vorab. Bei SSDs spielt es keine Rolle.
  • Weisen Sie nur den Speicherplatz zu, den Sie benötigen. Bewahren Sie große Dateien außerhalb der vStorage auf.
  • Weisen Sie niemals mehr CPUs oder RAM zu als Sie sollten. 1 vCPU ist wahrscheinlich genug.
  • Belassen Sie 1 GB RAM für das HostOS. Überschreiten Sie RAM nicht.
  • Benutze die VirtIO-Treiber für Speicherung und Vernetzung. Moderne Linux-Gäste unterstützen dies.
  • Verwenden Sie für Windows-Gäste die Treiber SATA (Speicher) und Intel PRO / 1000 (Netzwerk). Es ist möglich, virtio Treiber unter Windows zu verwenden, es ist nur ein bisschen schwieriger.
  • Aktivieren Sie ACPI und AHCI für alle Gäste ab 2003, WinXP und höher.
  • Desktop-VMs sollten alle 128 MB des angezeigten vRAM erhalten
  • Server-VMs sollten mit 9 MB vRAM bleiben; Verschwende es nicht.
  • Vermeiden Sie 2D- und 3D-Beschleunigungseinstellungen, bis alles andere wie gewünscht funktioniert. Ubuntu / Unity macht schlimme Dinge, wenn dies aktiviert ist. Es kann einen Core i7 auf den Boden bringen.

In den anderen Antworten finden Sie viele Tipps zur GUI-Leistung. Diese sind wahrscheinlich auch gültig. Dieselben Tipps gelten für KVM, VM-Player und andere virtuelle Hypervisoren. Diese funktionieren auch für Server.

Viel Glück.


7
2018-02-10 19:16



Der Blogbeitrag, mit dem du verlinkt hast, ist für Ubuntu 12.04. Ubuntu 12.10 unterscheidet sich erheblich, da es nicht mehr Unity 2D enthält und normale Unity-Renderings über LLVMPipe, wenn die Hardwarebeschleunigung nicht erkannt wird. - Flimm
Mein Ubuntu Server Gast wurde viel schneller, nachdem ich den Videospeicher von ~ 8MB auf 128MB geändert habe. Ich benutze es für die Entwicklung von Rails.


Ich hatte gute Ergebnisse, als ich von Unity zum Fallback GNOME wechselte. Sie können dies tun, indem Sie einfach GNOME-session-fallback aus dem Software-Center installieren und es dann auf dem Anmeldebildschirm auswählen.

sehen: http://www.psychocats.net/ubuntu/classicgnome für eine zufällige detaillierte Anleitung


4
2017-10-29 14:16



In Ubuntu 16.04 ist der Paketname gnome-session-flashback. Dies ist das einzige, was für mich einen Unterschied in der Leistung von ui macht. Vielen Dank! - Mustafa


Um 3D unterstützt zu aktivieren, müssen Sie Linux-Header aktualisieren

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

Fügen Sie nun die iso-Datei von den Geräten ein und installieren Sie sie manuell

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

Fügen Sie vboxvideo in / etc / modules ein

$ sudo nano /etc/modules

Fügen Sie "vboxvideo" am Ende der Datei hinzu

loop
lp
vboxvideo

Starten Sie den Computer neu

$ sudo reboot

Aktivieren Sie "Nicht Software gerendert" und "Unity 3D unterstützt" aktiviert sind oder nicht nach dem Neustart

$ /usr/lib/nux/unity_support_test -p

Als nächstes möchten Sie den Videospeicher erhöhen. Suchen Sie nach der .vbox-Datei

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

Ersetzen

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

Zu

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

Quelle: Wie behebt man die langsame Performance von ubuntu 13.04 in der virtualbox?


1
2018-02-21 02:58