Come posso migliorare le prestazioni del mio guest VirtualBox?


38

Ho eseguito un guest Ubuntu 12.04 su un host Ubuntu 12.04, con VirtualBox, e l'ospite è molto, molto più lento dell'host ( ALT+TABrichiede 4-5 secondi). Mi sono guardato intorno e ho trovato opinioni contraddittorie su VirtualBox contro VMware (gratuito); quindi ho pensato di mantenere il primo.

Entrambi i sistemi vengono aggiornati, ho installato le aggiunte sul guest e ho diviso uniformemente la memoria e la memoria video (64 MB) tra guest e host. Sono in esecuzione un laptop Toshiba m200 con 4 GB di RAM e memoria video condivisa. Il BIOS host non include un'opzione di configurazione per la virtualizzazione della macchina. Ho 2 cpus e non posso darli entrambi alla macchina virtuale.

C'è qualcosa che ho trascurato che potrebbe risolvere il mio problema?

Sentiti libero di chiedere maggiori informazioni e grazie per l'aiuto.

EDIT Inattivo con il monitor di sistema aperto la CPU (singola) guest non scende mai al di sotto del 55% e potrebbe salire all'80 - 90% semplicemente spostando il mouse. L'apertura di Firefox farà sì che il monitor di sistema mostri l'utilizzo della CPU al 100% nel guest, mentre l'host mostra che entrambi i CPU funzionano in modo uniforme attorno al 60%.

La mia cpu lo è Intel® Core™2 Duo CPU T5450 @ 1.66GHz × 2.

Se questo non è un problema di configurazione, significa che la mia macchina è troppo debole per la virtualizzazione?


anche installando unity2d (che mi ha aiutato) e provando diverse configurazioni, la VM è ancora troppo lenta per i miei gusti, quindi ho abbandonato l'idea ormai
ecoologic

Penso che la risposta di JohnP sia la più appropriata qui.
Léo Léopold Hertz

Risposte:


29

Non so molto su Player, ma i valori predefiniti di Vbox non sono buoni per le versioni di Ubuntu che preferiscono una vera GPU.

  • Sui dischi rigidi in rotazione, pre-allocare l'intero disco virtuale. Sugli SSD, non importa. Le allocazioni sparse di VDI / qcow2 riducono le prestazioni, ma le riduzioni coinvolte sembrano essere inferiori al 10% dal 2015. Pesare le prestazioni rispetto alla convenienza.
  • Allocare solo lo spazio di archiviazione necessario. Conservare file di grandi dimensioni altrove, all'esterno di vStorage.
  • Non allocare mai più CPU o RAM di quanto dovresti. 1 vCPU è probabilmente sufficiente.
  • Lascia 1 GB di RAM per HostOS. Non eseguire il commit eccessivo della RAM.
  • Utilizzare i driver VirtIO per archiviazione e reti. Gli ospiti Linux moderni supportano questo. Per i guest Windows, utilizzare i driver SATA (archiviazione) e Intel PRO / 1000 (rete). È possibile utilizzare i driver virtio sotto Windows, è solo un po 'più difficile.
  • Abilita ACPI e AHCI per tutti gli ospiti dal 2003, WinXP e successivi.
  • Le VM desktop dovrebbero ottenere tutti i 128 MB di display vRAM
  • Le VM server dovrebbero rimanere con 9 MB di vRAM; non sprecarlo.
  • Evita le impostazioni di accel 2D e 3D, fino a quando tutto il resto funziona nel modo che preferisci. Sono serio. Ubuntu fa cose cattive quando è abilitato. Può portare a terra un Core i7.

Per maggiori dettagli: http://blog.jdpfu.com/2012/09/14/solution-for-slow-ubuntu-in-virtualbox


1
come pre allocare l'intero disco virtuale?
Toskan,

5
"Usa i driver VirtIO per l'archiviazione" - A meno che non manchi qualcosa di ovvio, VirtualBox non implementa l'archiviazione paravirtualizzata. Se lo fa, per favore dimmi dove perché mi piacerebbe usarlo.
cdhowie,

Allocare solo lo spazio di archiviazione necessario . Non sono d'accordo con questo. È possibile impostare il disco su 50 GB in modo dinamico. Sarai in difficoltà con la stabilità se in primo luogo assegni troppo poco spazio. Lo spazio espandibile dinamicamente non richiede il massimo per tutto il tempo, ma solo quanto serve.
Léo Léopold Hertz

L'unico modo che conosco per preallocare il disco è utilizzare lo strumento vboxmanage e copiare il vecchio file VDI in un nuovo file VDI completamente allocato.
JohnP

Ho visto che Vbox include driver Virtio di recente.
Giovanni,

7

Un guest virtuale con così poche risorse verrà eseguito lentamente. Per prestazioni ottimali, offri al tuo host un po 'più risorse dell'ospite. Inoltre, non sarai in grado di fornire entrambi i CPU alla tua macchina virtuale poiché la tua macchina host ha bisogno di qualcosa per eseguire tutto.

Pensare in questo modo. Il computer host deve eseguire il proprio 'sistema più il contenitore per il guest. L'ospite entra in una rissa di risorse con la macchina host. Prova a dare di meno all'ospite e guarda come funziona.

Per prestazioni ottimali, avrai bisogno di una macchina a 64 bit con più di 4 GB di memoria.


In realtà ho provato diverse configurazioni prima di chiedere alla community, ram non dovrebbe essere un problema in questa fase (la maggior parte è inutilizzata), dalla tua risposta ho capito che il problema dovrebbe basarsi principalmente sul CPU (spesso al 100%), Ho insegnato che il mio laptop era abbastanza potente, forse è qui che sbaglio ...
Ecoologic

Un pensiero potrebbe essere quello di guardare l'utilizzo delle risorse sia nell'host che nell'ospite e vedere cosa si sta esaurendo dove. Che tipo di processore hai?
Nate,

non è la macchina più veloce che tu abbia mai visto, ma non mi ha mai deluso (risposta aggiornata).
ecologico

Sì, direi che la tua macchina non è abbastanza potente per una virtualizzazione rapida. Ovviamente ce l'hai in esecuzione, quindi spetta a te se vuoi vivere con la velocità.
Nate,

2
@ecoologic: Unity2D funziona molto più velocemente - ci hai provato?
Takkat,

4

Oltre alle risposte precedenti per le impostazioni ottimali di VirtualBox, c'è un ottimo post sul blog di Nam Huy su come far funzionare l'accelerazione 3D per un ospite di Ubuntu. Ciò è particolarmente utile per Ubuntu 13.04, poiché non esiste più alcuna opzione per installare Unity 2D, lasciando una nuova installazione senza alcun carico di lavoro reale sul carico della CPU dell'80-100% a causa del rendering del software, rendendolo praticamente inutile per me.

L'idea di base è installare aggiunte guest, caricare "vboxvideo" in etc/modules, riavviare e quindi attivare l'accelerazione 3D nelle impostazioni di visualizzazione di VirtualBox. Nota che abilitare l'accelerazione 3D deve essere l'ultimo passo dopo aver configurato tutto il resto nel guest.

Per me, questo ha portato un enorme aumento delle prestazioni, in modalità a schermo intero non riesco nemmeno a distinguere il mio sistema operativo nativo e il guest Ubuntu.


Per coloro che ottengono anche "Errore di connessione al database", esiste una versione cache dalla macchina Way Back: web.archive.org/web/20160320085343/https://namhuy.net/951/…
Pavel

4

Ho riscontrato lo stesso problema

Host: Ubuntu 14.10 (64-bit), Ospite: Windows 7 (64-bit)

Anche con la virtualizzazione attivata nel BIOS host, il carico della CPU era costantemente intorno al 40-50% nello stato di inattività del guest

Ciò che mi ha aiutato è stato l' installazione di Guest Addition con supporto 3D diretto (è necessario farlo in modalità provvisoria) e l'attivazione della cache I / O host del controller SATA

Quindi le mie impostazioni attuali sono:

Sistema

Memoria di base: 4096 Mb (memoria host totale 8192 Mb)

Processore: 6 CPU (di host 6 CPU)

PAE / NX: abilitato

VT-x / AMD-V: abilitato

Paging nidificato: abilitato

Display

Memoria video: 128 Mb

Accelerazione 3D: abilitata

Accelerazione 2D: abilitata

Funziona come un fascino! Versione Virtual Box: 4.3.18_Ubuntu r96516


0

Sebbene la risposta iniziale sia molto dettagliata, ritengo che la risposta diretta al punto sia onestamente che il sistema / laptop è troppo lento e sottodimensionato non si può fare molto a meno che non ci sia un problema di configurazione o un bug nella versione di Virtualbox. Puoi provare a ottimizzare, ma la RAM host e 2 core CPU a 1,66 Ghz non lo taglieranno. Con tale utilizzo della CPU è molto probabilmente dovuto allo scambio e alla mancanza di RAM sufficiente.

In breve, potresti provare un altro gestore di finestre che è più leggero e considerare anche di provare altri sistemi operativi per vedere se c'è forse un problema di configurazione con la tua Virtualbox e aggiornare all'ultima versione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.