¿Cómo mejoro el rendimiento de mi invitado VirtualBox?


38

Ejecuto un invitado ubuntu 12.04 en un host ubuntu 12.04, con VirtualBox, y el invitado es mucho, mucho más lento que el host ( ALT+TABtarda 4-5 segundos). Eché un vistazo y encontré opiniones contradictorias sobre VirtualBox versus VMware (gratis); así que pensé en quedarme con el primero.

Ambos sistemas están actualizados, instalé las adiciones en el invitado y dividí equitativamente la memoria y la memoria de video (64 MB) entre el invitado y el host. Estoy ejecutando una computadora portátil Toshiba m200 con 4 GB de RAM y memoria de video compartida. La BIOS del host no incluye una opción de configuración para la virtualización de la máquina. Tengo 2 cpus y no puedo darlos a la máquina virtual.

¿Hay algo que haya pasado por alto que pueda resolver mi problema?

No dude en solicitar más información y gracias por cualquier ayuda.

EDITAR ralentí con el monitor del sistema abierto, la CPU invitada (única) nunca llega a estar por debajo del 55% y podría elevarse al 80 - 90% con solo mover el mouse. Al abrir Firefox, el monitor del sistema mostrará el uso de la CPU al 100% en el invitado, mientras que el host muestra que ambos cpus funcionan de manera uniforme alrededor del 60%.

Mi CPU es Intel® Core™2 Duo CPU T5450 @ 1.66GHz × 2.

Si esto no es un problema de configuración, ¿significa que mi máquina es demasiado débil para la virtualización?


incluso instalando unity2d (lo que ayudó) y probando una configuración diferente, el vm todavía es demasiado lento para mi gusto, así que
abandoné

Creo que la respuesta de JohnP es la más apropiada aquí.
Léo Léopold Hertz 준영

Respuestas:


29

No sé mucho sobre Player, pero los valores predeterminados de Vbox no son buenos para las versiones de Ubuntu que prefieren una GPU real.

  • Al girar discos duros, preasigne todo el disco virtual. En SSD, no importa. Las asignaciones dispersas de VDI / qcow2 reducen el rendimiento, pero las reducciones involucradas parecen ser inferiores al 10% desde 2015. Pondere el rendimiento frente a la conveniencia.
  • Asigne solo el almacenamiento que necesita. Mantenga archivos grandes en otro lugar, fuera de vStorage.
  • Nunca asigne más CPU o RAM de las que debería. 1 vCPU es probablemente suficiente.
  • Deje 1GB de RAM para el HostOS. No comprometer más de RAM.
  • Utilice los controladores VirtIO para almacenamiento y redes. Los invitados modernos de Linux apoyan esto. Para los invitados de Windows, use los controladores SATA (almacenamiento) e Intel PRO / 1000 (red). Es posible usar controladores virtio en Windows, es un poco más difícil.
  • Habilite ACPI y AHCI para todos los invitados desde 2003, WinXP y posteriores.
  • Las máquinas virtuales de escritorio deberían obtener los 128 MB de vRAM de pantalla
  • Las máquinas virtuales del servidor deben permanecer con 9 MB de vRAM; No lo desperdicies.
  • Evite la configuración de aceleración 2D y 3D, hasta que tenga todo lo demás funcionando de la manera que desee. Lo digo en serio. Ubuntu hace cosas malas cuando esto está habilitado. Puede traer un Core i7 al suelo.

Para más detalles: http://blog.jdpfu.com/2012/09/14/solution-for-slow-ubuntu-in-virtualbox


1
¿Cómo asignar previamente todo el disco virtual?
Toskan

55
"Utilice los controladores VirtIO para el almacenamiento" : a menos que me falte algo obvio, VirtualBox no implementa el almacenamiento paravirtualizado. Si es así, dígame dónde, porque me encantaría usarlo.
cdhowie

Asigne solo el almacenamiento que necesita . No estoy de acuerdo con esto. Puede configurar el disco a 50 GB dinámicamente. Tendrá problemas con la estabilidad si asigna muy poco espacio en primer lugar. El espacio expansible dinámicamente no toma el máximo todo el tiempo, sino solo todo lo que necesita.
Léo Léopold Hertz 준영

La única forma que sé de preasignar el disco es usar la herramienta vboxmanage y copiar el viejo archivo VDI en un nuevo archivo VDI completamente asignado.
JohnP

Vi que vbox incluye controladores virtio recientemente.
JohnP

7

Un invitado virtual con tan pocos recursos se ejecutará lentamente. Para obtener el mejor rendimiento, en realidad le da a su host un poco más de recursos que al invitado. Además, no podrá asignar ambas CPU a su máquina virtual, ya que su máquina host necesita algo para ejecutar todo.

Piénsalo de esta manera. Su máquina host tiene que ejecutar su propio sistema más el contenedor para el invitado. El invitado entra en una pelea de recursos con la máquina host. Intente darle menos al invitado y vea cómo funciona.

Para obtener el mejor rendimiento, querrá una máquina de 64 bits con más de 4 gb de memoria.


De hecho, probé varias configuraciones antes de preguntarle a la comunidad, ram no debería ser un problema en esta etapa (la mayor parte no se usa), de su respuesta entiendo que el problema debe depender principalmente de la CPU (a menudo al 100%), enseñé mi portátil era lo suficientemente potente, tal vez es que aquí estoy equivocado ...
ecoologic

Una idea puede ser observar el uso de recursos tanto en el host como en el invitado y ver qué se está agotando y dónde. ¿Qué tipo de procesador tienes?
Nate

No es la máquina más rápida que verás, pero nunca me decepcionó (respuesta actualizada).
ecoológico

Sí, diría que su máquina no es lo suficientemente potente para una virtualización rápida. Obviamente lo tienes funcionando, así que depende de ti si quieres vivir con la velocidad.
Nate

2
@ecoologic: Unity2D funciona mucho más rápido, ¿lo intentaste?
Takkat

4

Además de las respuestas anteriores para la configuración óptima de VirtualBox, hay una gran publicación de blog de Nam Huy sobre cómo hacer que la aceleración 3D funcione para un invitado de Ubuntu. Esto es especialmente útil para Ubuntu 13.04, ya que ya no hay una opción para instalar Unity 2D, dejando una instalación nueva sin ninguna carga de trabajo real en una carga de CPU del 80-100% debido al procesamiento del software, lo que lo hace prácticamente inútil para mí.

La idea básica es instalar adiciones de invitados, cargar "vboxvideo" etc/modules, reiniciar y luego activar la aceleración 3D en la configuración de Pantalla de VirtualBox. Tenga en cuenta que habilitar la aceleración 3D tiene que ser el último paso después de configurar todo lo demás en el invitado.

Para mí, esto trajo un aumento de rendimiento masivo, en modo de pantalla completa ni siquiera puedo notar la diferencia entre mi sistema operativo nativo y el invitado de Ubuntu.


Para aquellos que también obtienen "Error de conexión de base de datos", hay una versión en caché de la máquina Way Back: web.archive.org/web/20160320085343/https://namhuy.net/951/…
Pavel

4

He experimentado el mismo problema

Anfitrión: Ubuntu 14.10 (64 bits), Invitado: Windows 7 (64 bits)

Incluso con la virtualización activada en el BIOS del host, la carga de la CPU estaba constantemente alrededor del 40-50% en estado inactivo de invitado

Lo que me ayudó fue instalar Guest Addition con soporte Direct 3D (debe hacerlo en modo seguro) y encender la caché de E / S del controlador SATA

Entonces mi configuración actual es:

Sistema

Memoria base: 4096 Mb (8192 Mb de memoria host total)

Procesador: 6 CPU (de host 6 CPU)

PAE / NX: habilitado

VT-x / AMD-V: habilitado

Paginación anidada: habilitada

Monitor

Memoria de video: 128 Mb

Aceleración 3D: habilitada

Aceleración 2D: habilitada

¡Funciona de maravilla! Versión de caja virtual: 4.3.18_Ubuntu r96516


0

Aunque la respuesta inicial es muy detallada, creo que la respuesta directa es honestamente que el sistema / computadora portátil es demasiado lento y tiene poca potencia, a menos que haya un problema de configuración o error en su versión de Virtualbox. Puede intentar optimizar, pero la RAM del host y 2 núcleos de CPU a 1.66Ghz simplemente no van a cortarlo. Con esa utilización de la CPU, es muy probable que se deba al intercambio y a que no tenga suficiente RAM.

En resumen, podría probar otro administrador de ventanas que sea más liviano y también considerar probar otros sistemas operativos para ver si hay un problema de configuración con su Virtualbox y actualizar a la última versión.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.