Hi, ich hab mal eine kleine Verständnis Frage, irgendwie steh ich da wohl auf dem schlauch.
Also wir nehmen an, ich hab einen ESX mit insgesamt 32GB RAM.
Wenn ich VMs anlege, dann wrid der Speicher ja auf dem Host "reserviert".
z.B.: eine VM mit 12GB und eine mit 8GB und eine mit 4 GB und eine mit 2 GB. Das macht zusammen 26GB zugewiesener Speicher.
Der Host zeigt den ja in der Übersicht als belegt an (26GB von 32GB belegt).
Aber die Maschienen dümpeln eigentlich die meiste Zeit vor sich hin. Haben also effektiv einen Verbrauch von 5%-10% pro VM (Gastarbeitsspeicher in %), also z.B. 13GB.
Was passiert jetzt, wenn ich eine Maschiene mit 10GB erstelle und weitere? Der Hostspeicher wäre ja überbelegt, aber er wird effektiv ja nicht benutzt. D.h.: es gibt eigentlich kein Problem, er geht halt an die 32GB Grenze mit dem zugewiesenen aber die Performance ist gleich etc. oder?
Probleme gäbe es erst, wenn alle VMs ihren Speicher brauchen(36GB) und der Host keinen mehr hat(32GB). Dann würde angefangen werden zu swappen.
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!
Frage zu RAM Belegung durch VMS auf Host
- Tschoergez
- Moderator
- Beiträge: 3476
- Registriert: 23.02.2005, 09:14
- Wohnort: Burgberg im Allgäu
- Kontaktdaten:
http://vmware-forum.de/viewtopic.php?p= ... umed#46516
ansonsten: richtig, probleme gibts erst, wenn die VMs auch mehr speicher nutzen als der ESX hat.
allerdings: alles (d.h. das ganze memory management, ha slot size berechnung usw) geht besser mit kleinen VMs.
siehe auch:
http://frankdenneman.nl/2010/12/impact- ... es-part-1/
grüße,
jörg
ansonsten: richtig, probleme gibts erst, wenn die VMs auch mehr speicher nutzen als der ESX hat.
allerdings: alles (d.h. das ganze memory management, ha slot size berechnung usw) geht besser mit kleinen VMs.
siehe auch:
http://frankdenneman.nl/2010/12/impact- ... es-part-1/
grüße,
jörg
-
irix
- King of the Hill
- Beiträge: 13063
- Registriert: 02.08.2008, 15:06
- Wohnort: Hannover/Wuerzburg
- Kontaktdaten:
Deine Beschreibung mit "reserviert" ist quasi im ESX Umfeld schon "reserviert"
.
Im Normalfall findet gerade keine reservierung oder besser feste zuweisung statt. Das heist ein Overcommit ist sehr schnell moeglich und bleibt am Anfang auch unbemerkt.
Das was wichtig ist wird unter "Consumed Host Memory" angezeigt und ist der Wert "Konfigurierter Mem der VM" + Overhead - TPS/Balloning. Worstcase ist also "Konfigurierter Mem der VM" + Overhead.
Siehst du dort weniger profitiert der Host von TPS bzw. Balloning. Das ist der Wert welcher als "Shared" im Resource Allocation Tab angezeigt wird. Geht dem Host der Speicher aktiviert er den Ballooning Treiber in der VM und laesst die anderen Prozesse mit Memory in den Swap des OS laufen.
Gibt das Balloning nichts mehr her und es wird mehr Speicher benoetigt faengt er mit Memory Compression an. Dies zoegert aber das vermeidliche Ende nur heraus.
Das Ende ist das der ESX Host selber swappen muss. Das macht er fuer jede VM einzeln. Dazu wird beim Start der VM immer ein Swapfile angelegt welches die groesse des konfigurierten Speichers hat.
Die "reservierung" vom Anfang ist der Vorgang wenn in der VM Konfiguration gesagt wird das der Memory (oder auch CPU) fuer diese VM fix reserviert und zugewiesen werden soll.
Letzteres hat natuerlich Vor- und Nachteile. Es kann passieren das so eine VM nicht startet weil nicht genug Speicher da ist. Dafuer kann davon ausgehen das es keine negative Performance Einschläge gibt. Achtung... wenn alle VMs bis auf eine die Swapfiles auf dem ESX verwenden muessen dann bringt das jedes Storage an seine Grenzen und wirkt sich so indirekt auch auf die VM mit dem reservierten Speicher aus.
Die Gruende warum Consumend Host Memory nicht Konstant ist sind folgende:
- Beim Start einer VM werden 100% Resourcen gebraucht und erst hinterher pendelt es sich ein bzw. die Optimierungen greifen
- Genau so ist es bei einem vMotion
- Address Space Layout Randomization ist aktiv fuer moderene OS seit Vista und neuer
- LargePages
Gruss
Joerg
Im Normalfall findet gerade keine reservierung oder besser feste zuweisung statt. Das heist ein Overcommit ist sehr schnell moeglich und bleibt am Anfang auch unbemerkt.
Das was wichtig ist wird unter "Consumed Host Memory" angezeigt und ist der Wert "Konfigurierter Mem der VM" + Overhead - TPS/Balloning. Worstcase ist also "Konfigurierter Mem der VM" + Overhead.
Siehst du dort weniger profitiert der Host von TPS bzw. Balloning. Das ist der Wert welcher als "Shared" im Resource Allocation Tab angezeigt wird. Geht dem Host der Speicher aktiviert er den Ballooning Treiber in der VM und laesst die anderen Prozesse mit Memory in den Swap des OS laufen.
Gibt das Balloning nichts mehr her und es wird mehr Speicher benoetigt faengt er mit Memory Compression an. Dies zoegert aber das vermeidliche Ende nur heraus.
Das Ende ist das der ESX Host selber swappen muss. Das macht er fuer jede VM einzeln. Dazu wird beim Start der VM immer ein Swapfile angelegt welches die groesse des konfigurierten Speichers hat.
Die "reservierung" vom Anfang ist der Vorgang wenn in der VM Konfiguration gesagt wird das der Memory (oder auch CPU) fuer diese VM fix reserviert und zugewiesen werden soll.
Letzteres hat natuerlich Vor- und Nachteile. Es kann passieren das so eine VM nicht startet weil nicht genug Speicher da ist. Dafuer kann davon ausgehen das es keine negative Performance Einschläge gibt. Achtung... wenn alle VMs bis auf eine die Swapfiles auf dem ESX verwenden muessen dann bringt das jedes Storage an seine Grenzen und wirkt sich so indirekt auch auf die VM mit dem reservierten Speicher aus.
Die Gruende warum Consumend Host Memory nicht Konstant ist sind folgende:
- Beim Start einer VM werden 100% Resourcen gebraucht und erst hinterher pendelt es sich ein bzw. die Optimierungen greifen
- Genau so ist es bei einem vMotion
- Address Space Layout Randomization ist aktiv fuer moderene OS seit Vista und neuer
- LargePages
Gruss
Joerg
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 10 Gäste