Seite 1 von 1
Insgesamt mehr CPU Kerne zuweisen als physisch vorhanden
Verfasst: 07.09.2013, 16:03
von pronto
Hi Community,
unser ESXi 5 Host hat physisch insgesamt 8 Kerne (2x Intel E5520). Wie verteilt das Hostsystem die CPU Ressourcen, wenn einige VMs gestartet sind, denen insgesamt mehr Kerne zugewiesen wurden, als physisch bzw. ggf mit HT vorhanden sind? Werden da Idle Ressourcen anderer VMs dahin transferiert, wo sie gerade gebraucht werden?
Thx & Bye Tom
Verfasst: 07.09.2013, 18:07
von irix
Du kannst einer VM nicht mehr vCPUs zuweisen hast der Host logische CPUs hat.
Gruss
Joerg
Verfasst: 07.09.2013, 18:08
von irix
Wenn deine eigentliche Frage wie unschoen das Thema Overprovisioning werden kann war dann lies mal
http://www.virtuallycloud9.com/index.ph ... cpu-level/
Gruss
Joerg
Verfasst: 07.09.2013, 18:34
von Dayworker
Wenn du trotzdem probierst diese VM zu starten, wird dir das mangels Ressourcen verweigert.
Verfasst: 07.09.2013, 19:43
von pronto
irix hat geschrieben:Du kannst einer VM nicht mehr vCPUs zuweisen hast der Host logische CPUs hat.
Nicht
einer VM sondern die Summe der Kerne aller VMs. Beim Speicher geht das Überbuchen offensichtlich[1] aber ob das auch bei CPU geht, hab ich noch nicht gefunden. Ich bin aber noch nicht bis zum Ende des Artikels gekommen.
[1]
http://www.vmware.com/files/pdf/perf-vs ... gement.pdf
Bye Tom
Verfasst: 07.09.2013, 20:16
von mbreidenbach
CPU Überbuchen geht grundsätzlich und ist 'normal'.
Eine VM kann nicht mehr Kerne haben als physikalisch vorhanden.
Eine VM kann nur laufen wenn die zugewiesene Anzahl an Kernen 'frei' ist.
Gibt man also einer VM mehr Kerne als sie wirklich braucht dann behindert sie andere VMs am Laufen bzw wartet drauf daß die Kerne frei werden.
Eine VM kann laufen, auf I/O warten oder auf freie CPUs warten. Letzteres kann man im vCenter unter 'CPU Ready' sehen. Das ist die Zeit die eine VM auf eine freie CPU wartet. Ist CPU Ready zu hoch dann ist das meist ein Performanceproblem. Wie sehr sich das auswirkt hängt von der Anwendung ab.
Verfasst: 07.09.2013, 20:37
von irix
Wenn du was ueber CPUs wissen willst soltest du kein PDF ueber Memory lesen.
http://www.vmware.com/files/pdf/techpap ... d-Perf.pdf
Ja, natuerlich kann man mehr vCPUs vergeben als man logische CPUs im Host hat. Nur so lassen sich ja konsolidierungsraten von 30:1 oder mit VDI sogar 100:1 erreichen.
Gruss
Joerg
Verfasst: 07.09.2013, 21:36
von pronto
mbreidenbach hat geschrieben:CPU Überbuchen geht grundsätzlich und ist 'normal'.
Eine VM kann nicht mehr Kerne haben als physikalisch vorhanden.
Zählen da die Hyper Threading CPUs mit dazu? Also 8 Kerne mit HT ergibt 16 "physikalische" Kerne oder bleibt es bei 8 verfügbaren Kernen?
Eine VM kann nur laufen wenn die zugewiesene Anzahl an Kernen 'frei' ist.
Das heißt wenn ich zB 8 Kerne im Host habe und ich habe drei VMs mit je vier Kernen, können nur zwei VMs laufen oder werden die Kerne einer VM, welche gerade nicht gebraucht werden, anderen VMs zugewiesen?
Thx & Bye Tom
Verfasst: 07.09.2013, 21:38
von pronto
Thx, das ist mir wohl noch abgegangen.
Bye Tom
Verfasst: 07.09.2013, 21:38
von irix
Lies den ersten Link welche ich gepostet habe.
Gruss
Joerg
Verfasst: 07.09.2013, 21:40
von pronto
irix hat geschrieben:Lies den ersten Link welche ich gepostet habe.
Jupp...
Verfasst: 07.09.2013, 21:46
von irix
pronto hat geschrieben:mbreidenbach hat geschrieben:CPU Überbuchen geht grundsätzlich und ist 'normal'.
Eine VM kann nicht mehr Kerne haben als physikalisch vorhanden.
Zählen da die Hyper Threading CPUs mit dazu? Also 8 Kerne mit HT ergibt 16 "physikalische" Kerne oder bleibt es bei 8 verfügbaren Kernen?
Nein es sind dann 16 logische CPUs. Das Intel HT bring im im VMware Umfeld bis ca. 20% mehr Leistung wenn viele VMs auf einem Host laufen. Bei nur einer VM ist es weniger Effektiv.
Eine VM kann nur laufen wenn die zugewiesene Anzahl an Kernen 'frei' ist.
Das heißt wenn ich zB 8 Kerne im Host habe und ich habe drei VMs mit je vier Kernen, können nur zwei VMs laufen oder werden die Kerne einer VM, welche gerade nicht gebraucht werden, anderen VMs zugewiesen?
Wenn, ja wenn in einer vSMP VM auf einer vCPU keine Last liegt dann erkennt das der Hypervisor und muss nur fuer die vCPU welche was tun soll eine freie logische CPU suchen. Unter vSphere weis aber das GuestOS nicht das es in einer VM laeuft und verteilt die Prozesse nach eigenem gutduenken auf die CPUs welche es meint zuhaben.
Gruss
Joerg
Verfasst: 07.09.2013, 22:37
von Kampfwurst
wenn ich z.B eine CPU mit 6x2Ghz habe und der VM nur einen Kern zuweise und auch nur eine VM laufen lasse bekommt die VM maximal die 2Ghz. richtig oder??
Verfasst: 07.09.2013, 22:43
von irix
Richtig.
Gruss
Joerg
Verfasst: 08.09.2013, 13:02
von pronto
irix hat geschrieben:http://www.vmware.com/files/pdf/techpaper/VMware-vSphere-CPU-Sched-Perf.pdf
Gehts nur mir so oder ist das so ein grauenvolles Englisch? Auch das RAM Whitepaper hat nicht wirklich Spaß gemacht beim lesen...
Bye Tom
Verfasst: 08.09.2013, 15:02
von Dayworker
Ich würd beides als sehr trocken bezeichnen.
Verfasst: 08.09.2013, 17:26
von Kampfwurst
irix hat geschrieben:Richtig.
Gruss
Joerg
das finde ich extrem unpraktisch. Habe momentan 7 VMs mit insgesamt 15vCPUs auf einem E5-2620 am laufen. Am Anfang habe ich jeder VM nur eine CPU zugeteilt. Das ging ja gar nicht

Jetzt hat z.B der Fileserver 4 CPUs und er SQL Server 2CPUs.
Bei der Deduplizierung braucht der Fileserver einfach etwas Leistung. Mit nur 1 oder 2 Kernen bin ich da bei fast 100%.
In meinen Augen wäre es besser wenn der ESXi die Ressourcen anderst verwalten würde und einer VM trotz nur 2 Kernen mehr als 4Ghz zukommen lassen könnte.
Verfasst: 08.09.2013, 18:04
von Dayworker
Dedup braucht eigentlich nur mehr RAM und nicht CPU-Leistung.
Ich verstehe deinen Sinn des GHz-Zusammenrechnens von CPU-Kernen nicht. Nur weil du einer VM zwei Kerne gibst, ist die VM doch keineswegs so schnell wie sie sein würde, wenn dieselbe VM mit einem CPU-Kern bei 4 GHz laufen würde. Falls die VM keine multithreaded Arbeit vorliegen hat, spielt die Anzahl der Kerne bekanntlich absolut keine Rolle und mit 2GHz ist die CPU dann einfach lahm. Bei deinen Überlegungen solltest auch den Turbotakt mit in Betracht ziehen und da machen die 2.5GHz schon etwas mehr Geräusch:
- 2.5Ghz (1 oder 2 Kerne)
- 2.4GHz (3 oder 4 Kerne)
- 2.3GHz (5 oder 6 Kerne)
Von der Warte würde die Fileserver-VM mit einer oder zwei vCPUs statt deiner vier wesentlich schneller sein und dazu auch häufiger zum Zuge sprich Ausführung kommen.
Verfasst: 08.09.2013, 18:05
von mbreidenbach
Kampfwurst hat geschrieben:In meinen Augen wäre es besser wenn der ESXi die Ressourcen anderst verwalten würde und einer VM trotz nur 2 Kernen mehr als 4Ghz zukommen lassen könnte.
Wie soll das denn gehen ? Wenn der VM 2 Kerne zu je 2GHz zugewiesen werden dann hat sie maximal 2 Kerne zu 2 GHz.
Verfasst: 08.09.2013, 18:09
von irix
Dayworker hat geschrieben:Dedup braucht eigentlich nur mehr RAM und nicht CPU-Leistung.
Erstmalig wird CPU Leistung benoetigt. Da man aber unter W2k12 die Zeiten festlegen kann pro Volume und die FS sich garantiert Nachts normal Langweilen glaube ich auch das zumind. spaeter keine 4 CPUs mehr benoetigt werden.
Gruss
Joerg
Verfasst: 08.09.2013, 21:58
von Kampfwurst
mit einer vCPU hängt die VM teilweise minutenlang auf 100% beim Windows Update installieren.
Man könnte z.B die vCPUs von den realen Kernen endkoppeln
Verfasst: 08.09.2013, 22:06
von irix
Kampfwurst hat geschrieben:mit einer vCPU hängt die VM teilweise minutenlang auf 100% beim Windows Update installieren.
Windows Removal Tool? Aber auch dafuer brauchts keine 4 CPUs.
Man könnte z.B die vCPUs von den realen Kernen endkoppeln
Haeh?
Gruss
Joerg