Quanti processori o core virtuali dovrei assegnare al mio SO guest? [chiuso]


8

Ho appena ricevuto un computer Host aggiornato e sto cercando di spingere alcuni di questi progressi nei miei sistemi operativi guest. In particolare, avevo un singolo processore, con 2 core, quindi il mio SO guest aveva solo 1/1.

Ora, ho un singolo processore con 8 core, quindi sono curioso di sapere cosa sarebbe raccomandato per il mio sistema operativo guest ora?

  • 1 processore / 4 core?
  • 2 processori / 2 core?
  • 4 processori / 1 core?

Il mio istinto dice di attenersi al numero di processori fisici (o meno), ma è basato sulla realtà? Ho passato molto tempo a cercare una risposta a questo, ma forse il mio google-karma non è a mio favore oggi.


Il tuo ospite sta sfruttando le capacità di elaborazione che ha adesso?
OldWolf

Questo collegamento può essere utile, suggerendo che abbini la tua configurazione alla configurazione NUMA dell'host.
Glenn,

Risposte:


4

Nei miei test, con VMWare Workstation, usando gli ultimi test GeekBench 3, 64-bit, su una macchina host con 1 CPU, 2 core (con HT acceso, quindi 4 core):

Sistema host:

  • 2866 Single Core Score, 5939 Multi-Core Score

virtualizzati:

  • 1 cpu, 1 core: 2783 sc, 2705 mc
  • 1 cpu, 2 core: 2758 sc, 4271 mc
  • 1 cpu, 3 core: 2783 sc, 5234 mc
  • 1 cpu, 4 core: 2769 sc, 5793 mc

Quindi, almeno nei miei test, sembra che ci sia un vantaggio nell'impostare il tuo numero virtuale di core in modo che corrisponda ai tuoi core fisici. Forse sto sbagliando. Mi piacerebbe discutere.


Ottima ricerca! Grazie. Potresti estendere questa ricerca per coprire alcune delle altre opzioni che ho evidenziato nel post originale? Come un sistema virtuale 2/2 e 4/1 (avendo già identificato che un 1/4 out esegue configurazioni 1 / 4-)? Questa è la vera domanda. Dovresti andare 1/4, 2/2 o 4/1 (supponendo che stai andando con 4 core virtuali in totale). Inoltre, ammetto che non capisco la differenza tra "punteggio single core" e "punteggio multi-core" in ciascuno dei tuoi esempi. Come può una macchina 1cpu / 1core ottenere un punteggio multi-core? Lo stesso vale per la situazione 1cpu / 4core, al contrario ....
reidLinden

2

Non so se queste informazioni siano ancora valide, ma in un passato non molto tempo fa, le CPU guest aggiuntive non si ridimensionavano come le CPU host. In effetti, la migliore raccomandazione era quella di rimanere con singole CPU nelle configurazioni guest a meno che non si stessero testando / eseguendo il debug specifico del software multithreading nei propri ospiti e non fosse richiesto un ambiente SMP.

Modifica: questa risposta è specifica per la virtualizzazione desktop, non per la virtualizzazione server.


quindi, stai dicendo 1 processore, con un singolo core?
reidLinden,

Sì. La workstation VMware consente ora di impostare tali valori in modo indipendente? Non lo uso dalla versione 6 ed era solo un numero di CPU. Se hai intenzione di fare CPU multi-core / multi-core nei tuoi ospiti, dubito che sia molto importante il modo in cui ridimensioni le cose a meno che non prendano in considerazione le considerazioni sulla licenza (n. Di "socket" e n. Di "core"). ad es. XP Home consente solo 1 socket, ma fino a 4 core, mentre XP Pro consente 2 socket.
Afrazier

sì, mi sembra di avere la possibilità di scegliere "# processori" e "# core" in modo indipendente ... La mia macchina host ha 1 processore con 8 core, su un Windows 7 Professional, e il mio guestOS (principale) è un Windows Server 2003. ..
reidLinden,

0

Al massimo, do i miei core OS 2 guest. Non importa se si eseguono 1 processore 2 core o 2 processori 1 core ciascuno. L'impostazione del procuratore è per motivi di compatibilità. Il processore / core non si adattano così bene per il SO guest a causa della pianificazione dei processi core / processore. 2 core sembra essere il punto debole.


Si desidera evitare di avere un processore e un core per una macchina virtuale perché se qualsiasi operazione che il sistema operativo host non prevede di bloccare blocchi inaspettatamente nell'host, l'intera macchina virtuale viene bloccata.
David Schwartz,

0

C'è poca differenza a questo punto. In alcuni casi, le licenze software possono dipendere da core o CPU.

Virtualizzato: 1 cpu, 1 core: 2783 sc, 2705 mc 1 cpu, 2 core: 2758 sc, 4271 mc 1 cpu, 3 core: 2783 sc, 5234 mc 1 cpu, 4 core: 2769 sc, 5793 mc Quindi, almeno nei miei test, sembra che ci sia un vantaggio nell'impostare il tuo numero virtuale di core in modo che corrisponda ai tuoi core fisici. Forse sto sbagliando. Mi piacerebbe discutere.

Questo è solo in un benchmark che utilizza tutti i core. La maggior parte delle applicazioni non ridimensiona le prestazioni in modo lineare con il conteggio dei core in quanto non utilizzano i core aggiuntivi.

C'è anche un certo livello di sovraccarico con l'aggiunta di più core. Quindi, in breve, aggiungi solo il numero di core che la tua applicazione deve eseguire ai livelli di cui hai bisogno. Solo perché hai 4 core nel tuo host non significa che ogni VM dovrebbe ottenere 4 core.

In un certo numero di ambienti che gestisco abbiamo due CPU 10 core con un totale di 40 thread logici e i miei controller di dominio ottengono ancora solo due core.


-2

Sono piuttosto scioccato dal fatto che a queste domande frequenti non sia stata ancora data una risposta completa. La CPU host dovrebbe supportare alcune tecnologie di virtualizzazione, ad esempio Intel VTx. Ciò consente di "tunnelare" l'intera potenza della CPU nel sistema operativo guest. Altrimenti, ci sarà un enorme calo di velocità dovuto all'emulazione di una CPU. Se hai una CPU con hyperthreading, dovresti vedere 8 processori per una CPU quad-core nella gestione dispositivi della tua macchina host (l'hyperthreading raddoppia il numero dei tuoi core). In tal caso, è possibile assegnare 1 processore con 4 core per il sistema operativo guest. Finché non hai nessun altro processore fisico nel tuo sistema, non assegnare più di 1 processore alla tua macchina virtuale. È possibile assegnare più o meno core al sistema operativo guest, in base alle proprie esigenze, ma non è necessario t assegna un valore superiore ai tuoi core hyperthreading. Ma nota, anche il tuo host ha bisogno di un po 'di potenza della CPU. Di solito imposto il mezzo numero dei miei core hyperthreading e il mezzo numero della mia memoria, ad esempio 8192 MB quando hai 16 Gig di RAM. Questa è generalmente una buona impostazione, ma non se si desidera eseguire più di una macchina virtuale alla volta.

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.