Question Pourquoi un invité Ubuntu dans VirtualBox s'exécute-t-il très, très lentement?


J'utilise actuellement Ubuntu 12.04 LTS en tant que machine hôte et j'ai virtualisé trois machines:

  • un invité Xubuntu 12.04
  • un invité Windows 7
  • un invité Ubuntu 12.10

Tous les invités ont les mêmes paramètres par défaut de VirtualBox, mais Ubuntu 12.10 est plus lent!

L'installation a pris 1h40 min! (Normalement, cela prend 40 minutes.) Maintenant, il est impossible de l'utiliser, et toutes les opérations sont très, très lentes.

J'utilise VirtualBox version 4.2.4.

Des idées?

Pourquoi est-ce lent? Et comment puis-je le rendre plus rapide?


174
2017-10-28 19:26


origine


Avez-vous essayé de déconner avec des configurations? Avez-vous essayé d'installer des éditions invité? - usr12390
Oui, j'ai installé des ajouts d'invités, mais rien ne semble changer ... Ce qui est étrange, c'est que j'ai installé de nombreuses machines virtuelles avec Ubuntu ou une autre distribution, mais seul Ubuntu 12.10 le fait ... réglage par défaut, comme toujours; les 2 autres machines virtuelles fonctionnent bien ... - Giorgio
La réponse de Flimm ci-dessous a corrigé le problème de lenteur pour moi. askubuntu.com/a/214968/107015 - JS.


Réponses:


J'ai entendu dire que cela avait quelque chose à voir avec le fait qu'ils ont enlevé Unité 2D, ou d'une certaine manière, le passage à 3D Unity ne fait que ralentir les performances de la machine virtuelle en raison de la forte dépendance vis-à-vis de la gestion du processeur. le Podcast Linux Outlaws en a parlé un peu, mais j'oublie l'épisode.

Mise à jour: le problème est que les ajouts d'invité Virtualbox ne fournissent pas d'accélération 3D au 12.10. Voir Ubuntu 12.10 incapable d'utiliser l'accélération 3D. Ne parvient pas à construire des DRM.


36
2017-10-28 20:02



J'ai pensé la même chose, parce que la seule différence entre les autres PC virtuel, est qu'il n'y a qu'une unité 3D ... et je ne peux pas utiliser l'accélération 3D parce que mon CPU est un ancien modèle sans cette fonction ... donc , Je vais prendre un nouveau processeur :) - Giorgio
Je ne pense pas que ce soit exact - c'est le manque de support pour X Server 1.13 (par VirtualBox), pas Unity qui pose problème. C'est une distinction importante car il est facile de remplacer Unity (par exemple, avec XFCE), mais je ne sais pas comment rétrograder la version par défaut de X Server. - Mzzzzzz
Pourquoi dites-vous que c'est un problème X? Pour moi, revenir à nain l'a corrigé par exemple. Donc, c'était un problème de remplacer Unity, plutôt que X? - Nanne
@ marcopolo1010, Xubuntu 12.10 a XServer 1.13 et a de bonnes performances dans VirtualBox (nettement plus rapide que Ubuntu 12.10). Donc, ça doit être un problème d'unité. - ignis
De plus, si vous êtes sur un Mac, vous pouvez essayer d’augmenter le nombre de processeurs que vous donnez à l’invité. Cela m'a énormément aidé! Voici où j'ai la source pour cela: code.dimilow.com/ubuntu-12-10-slow-as-virtualbox-guest-os - Matt Wolfe


Ubuntu 12.10 ne comprend plus Unity 2D, qui a été implémenté pour les plates-formes ne pouvant pas fournir d'accélération 3D. Au lieu de cela, Ubuntu 12.10 a Unity exécuté sous LLVM, rendant le code destiné au GPU exécuté sur le CPU. C'est beaucoup plus lent que d'utiliser le GPU.

Pour vérifier si votre invité Ubuntu 12.10 utilise l'accélération 3D, exécutez cette commande:

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

Comme vous pouvez le voir, "Pas de rendu logiciel" et "Unity 3D pris en charge" renvoient tous deux "non" dans cet exemple, ce qui signifie qu'Unity utilise LLVMpipe lent.

Comment activer l'accélération 3D (VirtualBox 4.2.x uniquement)

Ces instructions sont destinées à VirtualBox 4.2.4 ou 4.2.6, installées à partir du site Web de VirtualBox, et non à partir du référentiel d'Ubuntu. Les futures versions de VirtualBox peuvent résoudre ce problème automatiquement ou nécessiter une autre solution.

  1. Installez VirtualBox Oracle VM VirtualBox Extension Pack.
  2. Créez une instance de VirtualBox et installez Ubuntu 12.10 dessus.
  3. Installez certains packages requis pour les ajouts d'invité:

    sudo apt-get install linux-headers-$(uname -r) build-essential
    
  4. Installez les ajouts d'invité en cliquant sur Périphériques, sur Installer les ajouts d'invité et en exécutant cette commande à partir du répertoire du CD-ROM:

    sudo ./VBoxLinuxAdditions.run
    
  5. Ajouter le vboxvideo pilote à l'instance en cours d'exécution:

    sudo bash -c 'echo vboxvideo >> /etc/modules'
    
  6. Arrêtez l'instance VirtualBox.
  7. Ouvrez les paramètres de l'instance de Virtualbox, naviguez jusqu'à "Display" et cochez "Activer l'accélération 3D".
  8. Démarrez votre invité Ubuntu 12.10 et vérifiez que l'accélération 3D fonctionne en exécutant:

    /usr/lib/nux/unity_support_test -p
    

Si les fenêtres semblent disparaître, installez CompizConfig Settings Manager et désactivez Framebuffer Object (FBO) dans la section OpenGL:

  1. Installez le gestionnaire de paramètres CompizConfig:

    sudo apt-get install compizconfig-settings-manager
    
  2. Exécutez le gestionnaire de paramètres CompizConfig:

    ccsm
    
  3. Sélectionnez la section OpenGL, puis décochez l'option Objet Framebuffer. Si cela résout le problème, il devrait être immédiatement visible. Aucun redémarrage n'est requis.

281
2017-11-09 11:43



Ceci est une excellente solution, et mérite plusieurs votes positifs. - hexafraction
Sur mon nouvelle installation d'Ubuntu 12.10 (en utilisant VirtualBox 4.2.4 Mac OS X 10.6), ce vraiment accéléré les choses ... mais il y a beaucoup de bugs avec l'écran. Windows disparaît, le lanceur n'apparaît que si le tiret est ouvert, etc. - Benjamin Oakes
"Pas de logiciel rendu" est un nom de propriété très déroutant: S - Adam Harte
@programmer: j'ai eu le même problème. Essayez les paquets supplémentaires du dépôt d'Ubuntu au lieu des derniers fournis avec VirtualBox. Faites ceci en exécutant: sudo apt-get remove virtualbox-guest-additions (cela supprime ceux que vous avez installés) sudo apt-get install virtualbox-guest-additions (Cela installe ceux du dépôt par défaut) Ensuite, ouvrez les pilotes supplémentaires dans les paramètres (ou via des sources logicielles> pilotes supplémentaires sur les dernières versions d'Ubuntu) et sélectionnez le plus évident. - labsin
Je ne pouvais pas faire fonctionner ceci avec VirtualBox 4.3.12. La solution pour moi pour VirtualBox 4.3.12 est d’installer une version plus récente de GuestAdditions comme indiqué ici: virtualbox.org/ticket/12941 Plus précisément, virtualbox.org/download/testcase/… - Gordon Glas


Il semble que les développeurs de logiciels VirtualBox travaillent sur une solution, mais elle n'est pas encore prête - voir le message du forum Discuter de la version 4.2.4.

Il y a un fil de discussion à ce sujet dans le post quatrem Ubuntu 12.10 "virtuellement" inutilisable


11
2017-10-29 14:58





Je ne connais pas les paramètres de l'interface graphique nécessaires pour rendre Unity utilisable dans une machine virtuelle, mais je sais comment régler les machines virtuelles sous virtualbox, KVM et autres. Je n'ai jamais eu de chance de faire fonctionner Unity dans n'importe quel environnement virtuel. Jamais essayé trop dur, préférant utiliser soit WM pur ou un DE basé sur LXDE.

Des paramètres plus détaillés sont ici: http://blog.jdpfu.com/2012/09/14/solution-for-slow-ubuntu-in-virtualbox

Résumé: 

  • Les valeurs par défaut de la Vbox ne sont pas bonnes pour les versions Ubuntu qui ressemblent à un vrai GPU.
  • Sur les disques durs en rotation, pré-allouer l'intégralité du disque virtuel. Sur les SSD, peu importe.
  • Allouez uniquement le stockage dont vous avez besoin. Conservez des fichiers volumineux ailleurs, en dehors de vStorage.
  • Ne jamais allouer plus de processeurs ou de RAM que vous ne devriez. 1 vCPU est probablement suffisant.
  • Laissez 1 Go de RAM pour HostOS. Ne pas surcharger la RAM.
  • Utilisez le Pilotes VirtIO pour le stockage et la mise en réseau. Les invités modernes de Linux supportent cela.
  • Pour les invités Windows, utilisez les pilotes SATA (stockage) et Intel PRO / 1000 (réseau). Il est possible d'utiliser les pilotes virtio sous Windows, c'est juste un peu plus difficile.
  • Activez ACPI et AHCI pour tous les invités à partir de 2003, WinXP et versions ultérieures.
  • Les machines virtuelles de bureau devraient recevoir tous les 128 Mo de vRAM d'affichage
  • Les VM de serveurs doivent rester avec 9 Mo de vRAM; ne le gaspille pas.
  • Évitez les paramètres d'accélération 2D et 3D, jusqu'à ce que tout le reste fonctionne comme vous le souhaitez. Ubuntu / Unity fait de mauvaises choses lorsque cela est activé. Il peut amener un Core i7 au sol.

Il y a beaucoup de conseils sur les performances de l'interface graphique dans les autres réponses. Celles-ci sont probablement valables aussi. Ces mêmes conseils s'appliquent à KVM, VM-Player et autres hyperviseurs virtuels. Celles-ci fonctionnent aussi pour les serveurs.

Bonne chance.


7
2018-02-10 19:16



Le blog auquel vous vous êtes connecté est pour Ubuntu 12.04. Ubuntu 12.10 est sensiblement différent, car il n'inclut plus Unity 2D, et Unity normal rend via LLVMPipe lorsqu'il ne détecte pas l'accélération matérielle. - Flimm
Mon invité serveur Ubuntu est devenu beaucoup plus vite après avoir changé la mémoire vidéo de ~ 8 Mo à 128 Mo. Je l'utilise pour le développement de Rails.


J'ai eu de bons résultats en revenant d'Unity au GNOME de repli. Vous pouvez le faire simplement en installant GNOME-session-fallback à partir du centre du logiciel, puis en le choisissant sur l'écran de connexion.

voir: http://www.psychocats.net/ubuntu/classicgnome pour un howto détaillé au hasard


4
2017-10-29 14:16



Dans Ubuntu 16.04, le nom du paquet est gnome-session-flashback. C'est la seule chose qui semble faire une différence dans la performance de l'interface utilisateur pour moi. Merci! - Mustafa


Pour activer la prise en charge 3D, vous devez d'abord mettre à jour les en-têtes linux.

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

Insérez maintenant l'iso invité vitualbox à partir des périphériques et installez-le manuellement

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

Insérez vboxvideo dans / etc / modules

$ sudo nano /etc/modules

Ajouter "vboxvideo" à la fin du fichier

loop
lp
vboxvideo

Redémarrez la machine

$ sudo reboot

Vérifiez "Pas de logiciel rendu" et "Unity 3D pris en charge" sont activés ou non après le redémarrage

$ /usr/lib/nux/unity_support_test -p

La prochaine chose que vous voulez faire est d'augmenter la mémoire vidéo. Recherchez le fichier .vbox

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

Remplacer

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

À

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

la source: Comment réparer les performances lentes d'ubuntu 13.04 dans virtualbox


1
2018-02-21 02:58