Come posso abilitare più core nel mio ambiente virtuale?

17

Ho installato Ubuntu in un ambiente virtuale usando Oracle VM VirtualBox Manager e funziona alla grande.

Tuttavia mi piacerebbe attivare più core - come visto nell'immagine sotto il mio computer Windows ha 2 core:

Ora quando eseguo il lscpu in Ubuntu ottengo le seguenti informazioni che rivelano che viene utilizzato solo 1 core:

Ho provato a modificare le impostazioni della casella virtuale per abilitare più processori ma non mi consentirà di farlo come mostrato nell'immagine qui sotto:

Come posso abilitare più core (processori) nel mio ambiente virtuale?

    
posta Hasse Andersen 25.10.2013 - 15:25

3 risposte

15

Per abilitare più di 1 CPU nel tuo VM, sono inoltre necessarie le seguenti impostazioni:

  • Hardware guest virtuale a 64 bit nella scheda Impostazioni generali (per guest a 64 bit)

  • abilita I / O APIC nella scheda delle impostazioni della scheda madre

  • abilitare la virtualizzazione dell'hardware (VT-x / AMD-V) nella scheda Accelerazione

Nota che se esegui la tua VM su tutti i core disponibili, potresti riscontrare migliori prestazioni dell'host quando assegni un limite di esecuzione alla CPU.

Se non avessi abilitato la funzione CPU hot plug del cambio di virtualbox il numero di core può essere eseguito solo su una macchina che era shut down .

Un incremento delle prestazioni nel guest è prevedibile solo per il software che utilizza diversi core. Solo allora dare un senso a tutti i core con un cap di esecuzione.

    
risposta data Takkat 25.10.2013 - 15:47
13

Se la tua VM è attualmente in esecuzione (o "Salvato") non puoi modificare quel valore. Spegni prima la VM.

    
risposta data 0x80 25.10.2013 - 16:12
1

Stavo lavorando su un programma multithread che è stato eseguito in ordine sequenziale su una macchina virtuale. Ho avuto un problema simile a quello che avevi. L'ho risolto con:

  1. Arresta la macchina virtuale o esci.
  2. Avvia VMWare - & gt; Seleziona computer - & gt; Fai clic su Sistema - & gt; Fai clic su Processore - & gt; Cambia i processori dei numeri.
  3. Avvia Virtual Machine.

In precedenza std :: thread :: hardware_concurrency () dal thread standard restituito 1, ma, dopo le modifiche, restituisce il numero di CPU sulle impostazioni di Virtual Machine.

Ora, sono riuscito a eseguire i miei programmi multithread su VM con successo.

    
risposta data Prashant Nidgunde 06.08.2016 - 19:57

Leggi altre domande sui tag