letstryandfindout
Goto Top

Mal eine generelle Frage zu CPU Einstellungen in VMWARE

Hallo zusammen,

ich habe mal wieder eine Frage. Wenn ich in einem Server eine CPU habe mit 6 Kernen und eine virtuelle Maschine einrichte, ist es dann das ich sage:

Anzahl der virtuellen Sockets: 1
Anzahl der virtuellen Kerne pro Socket: 6

oder muss ich dann sagen:

Anzahl der virtuellen Sockets: 6
Anzahl der virtuellen Kerne pro Socket: 6

Ich habe zwar schon einiges gefunden im Netz aber so 100% ist der Groschen noch nicht gefallen.

Danke auf jeden Fall für eine Antwort face-smile

Content-Key: 241010

Url: https://administrator.de/contentid/241010

Printed on: April 25, 2024 at 10:04 o'clock

Mitglied: 110135
Solution 110135 Jun 16, 2014 updated at 12:10:22 (UTC)
Goto Top
Hallo,

also ganz einfach:

Anzahl der Sockets = Anzahl der Prozessoren.
Anzahl der Kerne = Anzahl der Kerne pro Prozessor (ggf + Anzahl der Threads).

Wenn du der VM alle Sockets + alle Kerne zuweisen willst:

Anzahl der v.Sockets = 1
Anzahl der v.Kerne = 6

Gruß,
Florian
Member: letstryandfindout
letstryandfindout Jun 16, 2014 at 12:10:36 (UTC)
Goto Top
Vielen Dank, dann habe ich es doch richtig gemacht face-smile
Member: Schnubbert
Schnubbert Jun 16, 2014 updated at 13:17:28 (UTC)
Goto Top
Für die Virtuelle Maschine macht es nachher keinen Unterschied.

Wenn du der VM 6 CPUs mit jeweils einem Kern oder eine CPU mit 6 Kernen gibst.
Das baut der Hypervisor sich zusammen wie es grade passt.

Eine vCPU oder ein vCore sind immer jeweils eine LCPU (logische CPU). Sollte deine CPU mit 6 Kernen dann auch noch Hyperthreading unterstützt, dann hast du sogar 12 LCPUs und kannst auch 12 vCPUs oder 12 vCores zuteilen.

6 vCPUs UND 6 vCores wären allerdings 36 LCPUs, das ist also nicht richtig.

Du kannst auch mehr verteilen als du hast, das merkst du dann auch erst wenn es zu einem Engpass kommt. Sinnvoll ist es aber bei VMs meistens erstmal zu wenig zu vergeben und dann hochzuschrauben.
Member: letstryandfindout
letstryandfindout Jun 16, 2014 at 13:19:28 (UTC)
Goto Top
Da es ein aktueller DL380 Gen 8 ist mit einem Xeon sollte er wohl Hyperthreading unterstützen, die Frage ist nur ob das per default aktiviert ist ;) kann ich dann einfach aus 1 vSocket mit 6 Cores, 1 vSocket mit 12 Cores machen? oder wird danach meine Server 2008 R2 meckern?
Mitglied: 110135
110135 Jun 16, 2014 at 13:34:28 (UTC)
Goto Top
Hallo,

du siehst in der Übersicht des Hypervisors die Anzahl an Cores die der Hypervisor erkannt hat:

z.B. CPU-Kerne 12 CPUs x 2,40GHz
Prozessor Sockets: 2
Kerne pro Socket: 6
Logische Prozessoren: 24
Hyper-Threading: aktiv

Ich würde der VM aber nicht 100% der Ressourcen zuteilen... Der Hypervisor braucht ja auch noch was face-smile

Gruß,
Florian
Member: Schnubbert
Schnubbert Jun 16, 2014 at 13:35:31 (UTC)
Goto Top
Der Server 2008 R2 bekommt das schon ganz gut mit wenn er neue CPUs bekommt, sollte kein Problem geben.

Wenn du dir mal im vSphere Client den Reiter Leistung von deinem ESXi Host (ist es überhaupt ein ESXi?) die CPU Übersicht anschaust, kannst du recht einfach anhand der Objekte sehen wie viele logische CPUs er dir anbietet. Aber HT wird an sein face-smile

Ich würde aber trotzdem beobachten wieviel CPU du wirklich benötigst und erst mehr zu schalten wenn er meckert. VMs sind deutlich sparsamer was CPU und RAM Auslastungen angeht.
Member: letstryandfindout
letstryandfindout Jun 16, 2014 at 13:47:28 (UTC)
Goto Top
Ich habe gerade mal nachgesehen:

Prozessoren Sockets: 1
Kerne pro Socket: 6
Logische Prozessoren: 12
Hyperthreading: Aktiv

Somit könnte ich nun bei dem virtuellen Server einfach hingehen und sagen:

Prozessoren Sockets: 1
Kerne pro Socket: 12

um eventuell noch ein bischen Performance auf dem Gerät zu erreichen richtig?
Member: Schnubbert
Schnubbert Jun 16, 2014 updated at 14:34:06 (UTC)
Goto Top
Zitat von @letstryandfindout:

um eventuell noch ein bischen Performance auf dem Gerät zu erreichen richtig?

Das wird so leider nicht unbedingt funktionieren.
Der Server müsste die Performance auch anfordern einfach mehr zuteilen wird den Server nicht schneller machen, ausser du führst auf dem Server nur Berechnungen durch die die CPU Leistung auch nutzen.

Der Hypervisor braucht keine eigene CPU oder ähnliches, der nimmt sich was er braucht.

Du kannst auch (nur fürs Verständnis) 3 Sockets und jeweils 4 Kerne vergeben, das macht für die VM keinen Unterschied.
Das wäre nur interessant wenn du auf der VM Software am laufen hast, die nach Sockel lizensiert wird.

Solltest du dir aber sicher sein, dass du auf dem Host nur die eine VM hast, dann könntest du die VM sogar fest auf die logischen CPUs binden über CPU Affinity. Davon würde ich aber abraten, da es dem ESXi alle möglichkeiten auf Engpässe selbstständig zu reagieren nimmt und die VM auch nicht mehr vMotion fähig ist, sofern das irgendwann mal ein Thema wird bei euch.
Member: letstryandfindout
letstryandfindout Jun 16, 2014 at 19:36:33 (UTC)
Goto Top
Ich möchte mich bei euch allen sehr herzlich bedanken. Ihr wart mir wirklich eine grosse Hilfe face-smile und habt viel zu meinem Verständnis beigetragen. Diese Plattform hier ist und bleibt einfach eine der besten Communitys face-smile

DANKE
Member: letstryandfindout
letstryandfindout Jul 16, 2014 at 11:17:04 (UTC)
Goto Top
Eine kleine Frage habe ich noch mal zum Verständnis. Wenn ich 2 CPUs habe mit 8 Kernen mit Hyperthreading habe ich ja 32 CPUs zur Verfügung. Sehe ich das richtig, dass ich dann die 32 auf die verschiedenen Server aufteile? Nicht das ich sozusagen 2 Servern jeweils 32 zuweise sondern sagen würde 10 bekommt DC und 22 der DB Server?