Die Foren-SW läuft ohne erkennbare Probleme. Sollte doch etwas nicht funktionieren, bitte gerne hier jederzeit melden und wir kümmern uns zeitnah darum. Danke!

Anzahl an zugeteilten CPUs

Alles zum Thema vSphere 6.5, ESXi 6.5 und vCenter Server.

Moderatoren: irix, Dayworker

Member
Beiträge: 6
Registriert: 11.09.2018, 20:14

Anzahl an zugeteilten CPUs

Beitragvon hannes85 » 19.09.2018, 15:39

Hi,
auf meinem esxi 6.5 host den ich von einem Vorgänger übernommen habe laufen 4 Windows 16 Server (DC, Exchange, Fileserver, Backupserver). Der Server selbst hat einen Intel 8-Kern Xeon CPU E5-2620 v4 @ 2.10GHz pro Kern. In Summe zeigt mir esxi also 16 logische Prozessoren an.
Von diesen 16 logischen Prozessoren sind dem DC 2, dem Exchange 4, dem Fileserver 2 und dem Bakcupserver 1. zugewiesen. Das FEld "Reservierung" ist bei allen VMs leer und der "Grenzwert" ist überall "unbegrenzt". Mir fällt auf, dass auch wenn mehrere VMs lt. Task Manager gerade eine hohe CPU-Auslastung haben die Gesamtauslastung des Hosts oft nur bei 40 % liegt.

Werden bei der angegebenen Konfiguration also tatsächlich pro VM nur die angegebene Anzahl an logischen Kernen (also in Summe 9 Stück) verwendet? Was ist mit den anderen 7 Kernen?

Danke für eure Hilfe.

King of the Hill
Beiträge: 12942
Registriert: 02.08.2008, 15:06
Wohnort: Hannover/Wuerzburg
Kontaktdaten:

Re: Anzahl an zugeteilten CPUs

Beitragvon irix » 19.09.2018, 16:20

Der 2620 v4 hat HyperTreading was in Summe in 16 logischen CPUs muendet und auf jedem dieser Context kann ein VMM plaziert werden. Wenn man das mit der Taktfrequenz von von 2100 MHZ multipliziert kommen da 33600MHz heraus. Ich gehe mal davon aus die Anzeige mit diesem Wert rechnet.

Aber...
- Hyperthreading bring keine Verdoppelung sondern je nach Anwendung 0-30% Mehrleistung
- Mit den 9 vCPUs hat du eine ganz kleine Overprovisiong im Vergleich zu den pCPU. Das heist im Worstcase koenne garnicht alle vCPUs bedient werden
- Es ist unwahrscheinlich das alle VMs zur gleichen Zeit was tun
- Sollte ein vCORE vom GuestOS keine Arbeitslast zugewiesen bekommen haben so muss der ESXi auch keine freien Kern suchen
- Keiner weis was du an Meltdown und Spectre Patchen bereits aktiviert hast. Gerade der neue Scheduler ignoriert die HT Kerne dann Komplett?
- ESXi weist einer VM immer eine Zeitscheibe zu. Pro Kern kann nur eine VM zur gleichen Zeit bedient werden. Die VMs rotieren auf den Kernen
- Man kann eine praeferiernug oder auch gaenzliche Vermeidung der HT Kerne konfigurieren auf dem ESX bzw. VM

Mit anderen Worten... einfach ist es nicht :)

Gruss
Joerg

King of the Hill
Beiträge: 12942
Registriert: 02.08.2008, 15:06
Wohnort: Hannover/Wuerzburg
Kontaktdaten:

Re: Anzahl an zugeteilten CPUs

Beitragvon irix » 19.09.2018, 16:28

Achja.. die Antwort auf deine Frage. Was der ESXi mit den Cores tut zeigt dir ein "esxtop" auf der Kommandozeile des Hosts.

Gruss
Joerg

Member
Beiträge: 6
Registriert: 11.09.2018, 20:14

Re: Anzahl an zugeteilten CPUs

Beitragvon hannes85 » 19.09.2018, 17:08

Danke - das ist sehr ausführlich. Kannst du mir evtl. auch sowas wie einen "Best Practice" für die Konfiguration geben. Sehr auffällig ist, dass halt immer wenn eizelne (oder mehrere) VM's 100 % CPU-Auslastung haben die CPU-Last des Hosts unter ca. 40 % liegt. Besonders zum Beispiel in der Nacht wenn das Backup gemacht wird - hier läuft der Backupserver 1 h mit 100% CPU (lt. Taskmanager) und die CPU-Auslastung des Hosts liegt bei ~ 25 - 30%. Das ist das was ich irgendwie nicht ganz sinnvoll finde zumal in der Nacht auch Exchange und DC ja eigentlich nicht viel zu tun hätten...

Guru
Beiträge: 2731
Registriert: 23.02.2012, 12:26

Re: Anzahl an zugeteilten CPUs

Beitragvon ~thc » 19.09.2018, 18:50

Ich glaube, du unterliegst einer Fehleinschätzung. Deine Fragen deuten an, dass du davon ausgehst, dass die VMs deswegen auf 100% "laufen müssen", weil der Hypervisor die Last nicht besser auf den physischen Kernen verteilt.

- Ein Programm kann nur so viele Kerne wie Threads benutzen - die meisten Programme sind immer noch "single-threaded" und können nur eine CPU nutzen.
- Eine VM kann nicht mehr physische Kerne nutzen als sie virtuell hat (Backupserver: 1)
- Der Hypervisor verteilt den einen Thread bzw. eine vCPU auf mehrere physischen Kerne (in dem die vCPU praktisch zwischen den pCPU-Cores hin und her springt) - aber die Maximalleistung bleibt dafür bei dir 2,1 GHz für einen physischen Kern.

Member
Beiträge: 6
Registriert: 11.09.2018, 20:14

Re: Anzahl an zugeteilten CPUs

Beitragvon hannes85 » 19.09.2018, 19:15

Ok, wenn ich das präzisieren darf. Meine Einschätzung war, dass z.B. der Bakupserver (dem nur eine der 16 vCPUs zugeordnet ist) deshlab auf 100 % läuft weil der Hypervisor dieser VM nie mehr als 1 der 16 logischen Kerne zuweist. Diner Antwort zufolge wäre das so korrekt?

1 logischer Kern = 1,05 GHz
1 physikalischer Kern = 2,10 GHz
(Gesamt werden im ESXi 16,8 GHz) angezeigt

King of the Hill
Beiträge: 12942
Registriert: 02.08.2008, 15:06
Wohnort: Hannover/Wuerzburg
Kontaktdaten:

Re: Anzahl an zugeteilten CPUs

Beitragvon irix » 19.09.2018, 20:29

hannes85 hat geschrieben:...
1 logischer Kern = 1,05 GHz
1 physikalischer Kern = 2,10 GHz
(Gesamt werden im ESXi 16,8 GHz) angezeigt


8x2.1 = 16,8GHz. Somit zaehlt der ESXi die MHZ des HT Kerns nicht mit.

Im alten vSphere Client ist es sogar sehr deutlich weil da 24x2.4GHz = bei einer 2x12Core Maschine und 48 logischen CPUs.

Gruss
Joerg

Guru
Beiträge: 2731
Registriert: 23.02.2012, 12:26

Re: Anzahl an zugeteilten CPUs

Beitragvon ~thc » 19.09.2018, 20:39

hannes85 hat geschrieben:Ok, wenn ich das präzisieren darf. Meine Einschätzung war, dass z.B. der Bakupserver (dem nur eine der 16 vCPUs zugeordnet ist) deshlab auf 100 % läuft weil der Hypervisor dieser VM nie mehr als 1 der 16 logischen Kerne zuweist. Diner Antwort zufolge wäre das so korrekt?

Ja - ein Hypervisor kann eine VM mit n vCPUs nur auf exakt n pCPU-Cores abbilden. Das ist ein Grundpfeiler der Virtualisierung.

Experte
Beiträge: 1337
Registriert: 25.04.2009, 11:17
Wohnort: Thüringen

Re: Anzahl an zugeteilten CPUs

Beitragvon Supi » 19.09.2018, 20:59

Ich wage mich mal ganz weit aus dem Fenster und sage, ohne die weitere Auslastung der VM's zu kennen:

Du kannst bedenkenlos dem Backup-Server 2 vcpu zuweisen.
Denn wenn der am Tage nix macht, lastet der deinen ESXi zu der Zeit auch nicht aus.
Eher kannst du auch dem DC nur 1vcpu zuweisen, der braucht keine 2.

Den Rest macht der Scheduler vom ESXi wie die anderen hier schon geschrieben haben.
Die Gesamtauslastung ist halt nicht höher als 40%, da deine VMs noch zu wenig sind, um deinen ESXI auszulasten.

Member
Beiträge: 6
Registriert: 11.09.2018, 20:14

Re: Anzahl an zugeteilten CPUs

Beitragvon hannes85 » 19.09.2018, 21:55

~thc hat geschrieben:Ja - ein Hypervisor kann eine VM mit n vCPUs nur auf exakt n pCPU-Cores abbilden. Das ist ein Grundpfeiler der Virtualisierung.

Ok - verstehe. Was ist dann ber in meinem Fall mit den 7 vCPUs die keiner VM zugeordnet sind?

King of the Hill
Beiträge: 12942
Registriert: 02.08.2008, 15:06
Wohnort: Hannover/Wuerzburg
Kontaktdaten:

Re: Anzahl an zugeteilten CPUs

Beitragvon irix » 19.09.2018, 22:07

Wat soll mit denen sein? Die warten halt.

Je nach Stromsparsettings gehen sie in den SleepMode.

Gruss
Joerg

Member
Beiträge: 6
Registriert: 11.09.2018, 20:14

Re: Anzahl an zugeteilten CPUs

Beitragvon hannes85 » 19.09.2018, 22:38

Ja, aber dann können sie lange warten, da sie ja keiner VM zugeordnet sind und somit von den 16 vCPUs immer 7 arbeitslos sind? Wieso ordnet man in dem Fall z.B nicht von den 16 vCPUs jeder VM einfach 4 zu und gut?

King of the Hill
Beiträge: 12942
Registriert: 02.08.2008, 15:06
Wohnort: Hannover/Wuerzburg
Kontaktdaten:

Re: Anzahl an zugeteilten CPUs

Beitragvon irix » 19.09.2018, 22:47

- Weil du nur 8pCPU hast und nicht 16. Du hast schon 9:8 Verhaeltnis und du hast noch nicht die CPU Leistung welche der ESXi benoetigt mitzugezaehlt
- Die Thermalpower wird nicht ausgeschoepft und dafuer koenen die anderen Cores einen hoeheren Takt fahren
- Wenn das GuestOS nur einen Singleprozess oder 1% auf den jedes seiner 4 vCore legt so muss der ESX 4 freie pCPUS suchen. Wenn er nur 3 zur Zeit frei hat so muss die GANZE VM warten

Das ganze ist dann %CPU_READY in der esxtop Anzeige

Gruss
Joerg

Member
Beiträge: 6
Registriert: 11.09.2018, 20:14

Re: Anzahl an zugeteilten CPUs

Beitragvon hannes85 » 20.09.2018, 08:12

OK - vielen Dank. Eure Posts haben einiges zu meinem Verständnis beigetragen.

Ist es bei der Config jetzt noch sinnvoller die zugewiesenen vCPUs einer VM auf einen Kern oder einen Socket zu verteilen. z.B wenn einer VM zwei vCPUs zugeordnet sind 1 Kern auf 2 Sockets oder 2 Kerne auf 1 Socket?

Experte
Beiträge: 1823
Registriert: 04.10.2011, 14:06

Re: Anzahl an zugeteilten CPUs

Beitragvon JustMe » 20.09.2018, 17:49

Das haengt von der Lizensierung des OS und der Anwendungen, sowie von der Programmierung der Anwendungen, aber immer IN der VM, ab. Es gibt/gab da Modelle, die auf die Anzahl von "Sockeln" bei undefinierter Anzahl von "Cores" abstellen; da packt man dann lieber mehr vCPU in einen einzelnen Sockel. Vielleicht versucht auch der Hypervisor-Kernel, die vSockets auf Kernen der physischen Sockets zu schedulen (unabhaengig von der auch noch moeglichen NUMA-Konfiguration, die es bei physischen Dual-Socket-Systemen zu beachten gilt).

Wichtig ist aber, dass das Verstaendnis dafuer gewachsen ist, dass man einer VM durch die "normale" Konfiguration nicht irgendwelche Kerne/Threads zu einer VM "fest zuordnet", und noch viel weniger, dass wie Du im Verlaufe erwaehntest ein "logischer Kern nur mit halber Frequenz liefe". Das sollte schon viel helfen. Wenn der Hypervisor wie in Deiner Konfiguration die Moeglichkeit hat, aus fast so vielen physischen Kernen wie von laufenden VMs plus Hypervisor selbst angeforderten Cores auszuwaehlen, so wird er, da er physische von "hyper-ge-thread-eten" Cores unterscheiden kann, die leistungshungrigeren Prozesse (=VMs) vermutlich auf die "echten" Kerne legen.

King of the Hill
Beiträge: 12942
Registriert: 02.08.2008, 15:06
Wohnort: Hannover/Wuerzburg
Kontaktdaten:

Re: Anzahl an zugeteilten CPUs

Beitragvon irix » 20.09.2018, 19:30

Performance technisch macht es genau 0.0 Unterschied. Der ESXi host muss die Summe der vSocket x vCore = vCPU dann eine freie Anzahl an CPU Slots finden.


Das es diese Konfigurationsmoeglichkeit gibt
- Ein Windows Desktop OS ist auf 2 Sockel limitiert. Wenn du also 10Ghz reinbringen willst waere bei 2x Sockel je 2.5Ghz schluss. Drum kann man vCores konfigurieren
- Es gibt Anwendungen welche sich nach Sockel Lizenzieren. Da ist ein Sockel mit 10 Cores dann guenstiger als 10 Sockel
- vNUMA?

Gruss
Joerg


Zurück zu „vSphere 6.5“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 9 Gäste