VMs CPU Zuweisung

Mulleperal

Lt. Junior Grade
Registriert
Sep. 2009
Beiträge
290
Servus,

Vorraussichtlich werde ich VMware ESXi verwenden

Wie genau kann man sich die Hardwareverteilung zu den VMs vorstellen?
Generell geht es mir darum ob man mehreren VMs den selben CPU Kern zuweisen kann?
Oder ist es so, dass wenn ich einen Quadcore habe nur 4 VMs nebeneinander laufen lassen kann?

Ändert zwar nichts an meinen derzeitigen Vorhaben da ich vermutlich noch nicht so viele VMs haben werde, aber ist trotzdem gut zu wissen.

Danke

mfg
 
Du kannst so viele VMs pro Core laufen lassen, wie du möchtest. Ist auch sinnvoll.

Auf dem Root meines Kumpels mit 8 Threads laufen z.B. 20 VMs, die CPU Auslastung ist trotzdem nur 10%, da das meiste nur Temporär, oder fast nie Hardware benötigt.
 
Du kennst mehr Kerne zuweisen als du echte Kerne hast.
 
Du kannst mehrer virtuellen Kerne auf einem physikalischen Kern laufen lassen. Wenn du es übertreibst geht halt irgend wann die Performance in den Keller.
 
  • Gefällt mir
Reaktionen: GTrash81
CPU Overprovisioning ist gängige Praxis.
Auf was man nur achten sollte, ist, den VMs nicht mehr vCPUs zuzuweisen als sie brauchen, nur weil man es kann.
AFAIK warten nämlich manche Hypervisor (ob ESXI dazugehört weiß ich nicht) so lange, bis genug physische Kerne "frei" sind bevor die VMs CPU Zeit bekommen. Wenn man es da übertreibt und jeder VM die maximale Anzahl an vCPUs gibt, kann das zu Performance Problemen führen.
 
  • Gefällt mir
Reaktionen: GTrash81
Mehr als 300% overprovisioning würde ich nicht empfehlen - bei der Zuweisung von 8 CPUs bei einer VM solltest du bedenken, dass zur Ausführung 8 Threads frei sein müssen bzw. VMware bis zum frei sein von 8 Threads wartet. Das kann die Performance drastisch reduzieren

bei 8 Threads solltest du also keine 8 vCPUs zuweisen sondern ca max. 4

gesamt über alle VMs kannst du allerdings ca 24 vCPUs zuweisen, ohne dass es zu Perfomance Einbußen kommen sollte
 
Einfach schauen, wie die Gesamt Auslastung deines Hosts ist.. Wie gesagt, mehr zuweisen, als eigtl. möglich ist Standard. Ausser beim RAM, da sollte man aufpassen ;)
 
InFlame schrieb:
gesamt über alle VMs kannst du allerdings ca 24 vCPUs zuweisen, ohne dass es zu Perfomance Einbußen kommen sollte

Kommt immer drauf an, was in so einer VM läuft. Ein kleines Debian mit einem Pi-Hole im Docker-Container frisst Genau 0 Performance, davon könnte man Gefühlt unendlich viele auf einen Kern packen.
 
InFlame schrieb:
Mehr als 300% overprovisioning würde ich nicht empfehlen

InFlame schrieb:
gesamt über alle VMs kannst du allerdings ca 24 vCPUs zuweisen, ohne dass es zu Perfomance Einbußen kommen sollte

Bitte vorsichtig sein. In der Regel sollte maximal zweifach vCPU überprovisioniert werden, bei Datenbanken würde ich das komplett sein lassen. Vor allem SQL und Exchange haben ihre Probleme mit der zu langen Wartezeit auf physische CPU Ressourcen.

Erstell dir Ressourcenpools, damit kannst du die Verteilung (in MHz) regulieren.
 
kamblars schrieb:
Bitte vorsichtig sein. In der Regel sollte maximal zweifach vCPU überprovisioniert werden, bei Datenbanken würde ich das komplett sein lassen. Vor allem SQL und Exchange haben ihre Probleme mit der zu langen Wartezeit auf physische CPU Ressourcen.

Erstell dir Ressourcenpools, damit kannst du die Verteilung (in MHz) regulieren.
gehe von einem bunt gemischten Szenario aus - wenn man natürlich vor hat auf allen VMs zu Compilieren wird das ebenfalls nix. DB, Fileserver, AD, DNS, usw...
 
Zurück
Oben