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!
Speicherbelegung VMware Server bei VMs mit viel RAM
Speicherbelegung VMware Server bei VMs mit viel RAM
Bei 32 Bit Windows Hosts ergibt sich die maximal in einem Block ansprechbare Speichergröße mit ca. 2,3GB. Es können zwar mehr als 4GB RAM (=32 Bit) angesprochen werden aber nur über PAE.
Sowei so gut, das ist ein Limit der x86 Architektur, ich habe aber folgendes beobachtet:
Auf einem Windows XP Host mit 6GB RAM läuft unter anderem ein virtueller Terminal Server mit 3GB RAM. Beim Booten nimmt diese VM für sich die ca. 2,3GB RAM in Anspruch um sie dann nach einigen Minuten Laufzeit wieder freizugeben, im Task Manager wird die 3GB VM dann mit nur 180MB RAM-Verbrauch angezeigt.
Die anderen VMs auf diesem Host mit 512MB bzw. 2GB RAM behalten ihren RAM, egal wie lange sie laufen. Alle Lazysave-Optionen sind bei allen Maschinen korrekt eingetragen sodass nicht lazygesaved wird. Wenn ich den Hauptspeicher bei der angesprochenen VM auf 2GB verringere verhält auch die sich korrekt, sprich behält laut Task-Manager ihre 2GB dauerhaft.
Kann mir jemand erklären woher das kommt und ob das heisst dass VMs auf 32 Bit x86 Hosts nur bis ca. 2GB RAM performant laufen?
Sowei so gut, das ist ein Limit der x86 Architektur, ich habe aber folgendes beobachtet:
Auf einem Windows XP Host mit 6GB RAM läuft unter anderem ein virtueller Terminal Server mit 3GB RAM. Beim Booten nimmt diese VM für sich die ca. 2,3GB RAM in Anspruch um sie dann nach einigen Minuten Laufzeit wieder freizugeben, im Task Manager wird die 3GB VM dann mit nur 180MB RAM-Verbrauch angezeigt.
Die anderen VMs auf diesem Host mit 512MB bzw. 2GB RAM behalten ihren RAM, egal wie lange sie laufen. Alle Lazysave-Optionen sind bei allen Maschinen korrekt eingetragen sodass nicht lazygesaved wird. Wenn ich den Hauptspeicher bei der angesprochenen VM auf 2GB verringere verhält auch die sich korrekt, sprich behält laut Task-Manager ihre 2GB dauerhaft.
Kann mir jemand erklären woher das kommt und ob das heisst dass VMs auf 32 Bit x86 Hosts nur bis ca. 2GB RAM performant laufen?
Das gleiche Problem habe ich auch. Jedoch kann ich bei mir maximal (ca) 1300 MB in der VM angeben. Der Prozess belegt dann 1400MB
wenn ich 1350 oder mehr angebe dann sinkt der speicherverbrauch währen des betriebs kontinuierlich und man merkt auch deutlcih das die VM durch swapping langsamer wird.
Dachte erst das wär nur bei uns so, aber ich kann bei allen unserer Kundenserver das gleiche phänomen beobachten.
2000MB stabil hab ich noch nirgends hingekriegt.. da bist du wohl schon weiter als ich.
System:
windows 2003 Server Standard Edititon
-4 GB Ram
-mit PAE und ohne PAE
-32 bit
-vmware server 1.0.1 - 1.0.3
weiß da jemand weiter? Das ist blöd wenn man dem Host nicht mehr als 1300mb ram zur verfügung stellen kann.
wenn ich 1350 oder mehr angebe dann sinkt der speicherverbrauch währen des betriebs kontinuierlich und man merkt auch deutlcih das die VM durch swapping langsamer wird.
Dachte erst das wär nur bei uns so, aber ich kann bei allen unserer Kundenserver das gleiche phänomen beobachten.
2000MB stabil hab ich noch nirgends hingekriegt.. da bist du wohl schon weiter als ich.
System:
windows 2003 Server Standard Edititon
-4 GB Ram
-mit PAE und ohne PAE
-32 bit
-vmware server 1.0.1 - 1.0.3
weiß da jemand weiter? Das ist blöd wenn man dem Host nicht mehr als 1300mb ram zur verfügung stellen kann.
ich bin inzwischen mit meinen recherchen ein wenig weiter:
ich habe eine testkonfiguration in 64bit, dual core 2,4 cpu mit 4GB physischem ram und vmware server 1.0.3, aktuellste version. hostbetriebssystem windows xp64
wenn ich darauf auch nur eine einzige vm mit zugewiesenen 2,5GB RAM und korrekt konfiguriertem lazysave laufen lasse zeigt sich das selbe verhalten, nämlich beansprucht die VM beim starten ca. 2,2GB um dann nach 10 minuten betrieb den ram-speicher wieder abzugeben und laut task-manager nur 400mb zu belegen. wenn ich der VM nur 1,9GB zuweise ist alles ok, die 1,9GB werden dauerhaft behalten.
@janlange:
deine 1,3GB als grenze kommen wahrscheinlich daher dass du nur /PAE verwendest und nicht /PAE /3GB, stimmt das?
mit dem /PAE switch wird dem host nur erlaubt mehr als 4GB zu nutzen (per AWE das von vmware server unterstützt wird), es bleibt aber die aufteilung 2GB kernel : 2GB applikationen. mit dem /3GB switch (4GT) reduziert man den kernel-memory auf 1GB was den applikationen 3GB zur verfügung stellt, das ist für vm hosts sehr sinnvoll weil auf dem host nicht viel kernel-ram benötigt wird.
nichtsdestotrotz stehe ich nach wie vor vor dem problem dass ich gerne vms mit mehr als 2GB ram betreiben möchte und das einfach nicht vernünftig möglich ist.
ich habe eine testkonfiguration in 64bit, dual core 2,4 cpu mit 4GB physischem ram und vmware server 1.0.3, aktuellste version. hostbetriebssystem windows xp64
wenn ich darauf auch nur eine einzige vm mit zugewiesenen 2,5GB RAM und korrekt konfiguriertem lazysave laufen lasse zeigt sich das selbe verhalten, nämlich beansprucht die VM beim starten ca. 2,2GB um dann nach 10 minuten betrieb den ram-speicher wieder abzugeben und laut task-manager nur 400mb zu belegen. wenn ich der VM nur 1,9GB zuweise ist alles ok, die 1,9GB werden dauerhaft behalten.
@janlange:
deine 1,3GB als grenze kommen wahrscheinlich daher dass du nur /PAE verwendest und nicht /PAE /3GB, stimmt das?
mit dem /PAE switch wird dem host nur erlaubt mehr als 4GB zu nutzen (per AWE das von vmware server unterstützt wird), es bleibt aber die aufteilung 2GB kernel : 2GB applikationen. mit dem /3GB switch (4GT) reduziert man den kernel-memory auf 1GB was den applikationen 3GB zur verfügung stellt, das ist für vm hosts sehr sinnvoll weil auf dem host nicht viel kernel-ram benötigt wird.
nichtsdestotrotz stehe ich nach wie vor vor dem problem dass ich gerne vms mit mehr als 2GB ram betreiben möchte und das einfach nicht vernünftig möglich ist.
I.P. hat geschrieben:ich habe eine testkonfiguration in 64bit, dual core 2,4 cpu mit 4GB physischem ram und vmware server 1.0.3, aktuellste version. hostbetriebssystem windows xp64
wenn ich darauf auch nur eine einzige vm mit zugewiesenen 2,5GB RAM und korrekt konfiguriertem lazysave laufen lasse zeigt sich das selbe verhalten, nämlich beansprucht die VM beim starten ca. 2,2GB um dann nach 10 minuten betrieb den ram-speicher wieder abzugeben und laut task-manager nur 400mb zu belegen. wenn ich der VM nur 1,9GB zuweise ist alles ok, die 1,9GB werden dauerhaft behalten.
hmm....hat die vm denn auch was zu tun? denn ansonsten soll der ram ja auch wieder irgendwie frei gegeben werden - mich würde eher beunruhigen, wenn die vm ihren zugewiesenen ram wirklich ständig für sich reservieren würde, auch wenn sie nur im idle modus läuft.....
oder versteh ich hier was falsch bzw. denk in die falsche richtung?
2search hat geschrieben:I.P. hat geschrieben:ich habe eine testkonfiguration in 64bit, dual core 2,4 cpu mit 4GB physischem ram und vmware server 1.0.3, aktuellste version. hostbetriebssystem windows xp64
wenn ich darauf auch nur eine einzige vm mit zugewiesenen 2,5GB RAM und korrekt konfiguriertem lazysave laufen lasse zeigt sich das selbe verhalten, nämlich beansprucht die VM beim starten ca. 2,2GB um dann nach 10 minuten betrieb den ram-speicher wieder abzugeben und laut task-manager nur 400mb zu belegen. wenn ich der VM nur 1,9GB zuweise ist alles ok, die 1,9GB werden dauerhaft behalten.
hmm....hat die vm denn auch was zu tun? denn ansonsten soll der ram ja auch wieder irgendwie frei gegeben werden - mich würde eher beunruhigen, wenn die vm ihren zugewiesenen ram wirklich ständig für sich reservieren würde, auch wenn sie nur im idle modus läuft.....
oder versteh ich hier was falsch bzw. denk in die falsche richtung?
wenn es um ressourcenschonung geht soll die vm den ram freigeben um ihn bei bedarf wieder anfordern zu können. das heist lazysave im vmware server. damit kann man beispielsweise auf einem host mit 2GB physischen ram virtuelle maschinen mit in summe 3GB ram gleichzeitig betreiben. ist nur furchtbar langsam.
wenn man aber performante vms will dann deaktiviert man lazysave in den .vmx optionen komplett damit jede VM jederzeit auf ihren kompletten RAM zugreifen kann, nur das ist ausreichend schnell.
.vmx einer maschine die dieses verhalten zeigt samt config.ini
.VMX:
CONFIG.INI
.VMX:
Code: Alles auswählen
config.version = "8"
virtualHW.version = "4"
scsi0.present = "TRUE"
scsi0.virtualDev = "lsilogic"
memsize = "2560"
scsi0:0.present = "TRUE"
scsi0:0.fileName = "Windows Server 2003 Standard x64 Edition.vmdk"
ide1:0.present = "TRUE"
ide1:0.fileName = "auto detect"
ide1:0.deviceType = "cdrom-raw"
floppy0.present = "FALSE"
Ethernet0.present = "TRUE"
Ethernet0.virtualDev = "e1000"
displayName = "Windows Server 2003 Standard x64 Edition"
guestOS = "winnetstandard-64"
priority.grabbed = "normal"
priority.ungrabbed = "normal"
ide1:0.autodetect = "TRUE"
scsi0:0.redo = ""
ide1:0.startConnected = "FALSE"
ethernet0.addressType = "generated"
uuid.location = "56 4d a4 07 7e d1 ea 30-c6 17 71 26 af c6 cb 53"
uuid.bios = "56 4d a4 07 7e d1 ea 30-c6 17 71 26 af c6 cb 53"
ethernet0.generatedAddress = "00:0c:29:c6:cb:53"
ethernet0.generatedAddressOffset = "0"
tools.syncTime = "FALSE"
sched.mem.pshare.enable = "FALSE"
prefvmx.useRecommendedLockedMemSize = "TRUE"
prefvmx.minVmMemPct = "100"
mainMem.partialLazySave = "FALSE"
mainMem.partialLazyRestore = "FALSE"
mainMem.useNamedFile = "FALSE"
CONFIG.INI
Code: Alles auswählen
datastore.name = "local"
datastore.localpath = "C:\Virtual Machines\"
prefvmx.useRecommendedLockedMemSize = "TRUE"
prefvmx.minVmMemPct = "25"
defaultVMPath = "D:\VirtualMachines\running"
priority.grabbed = "normal"
priority.ungrabbed = "normal"
continuum hat geschrieben:Hombre was soll das denn ?prefvmx.minVmMemPct = "25"
Dann musst du dich nicht wundern ... nimm 100
ich würde mich wetten trauen dass das nur die systemvorgabe ist und durch
Code: Alles auswählen
prefvmx.minVmMemPct = "100"in der .vmx overruled wird.
ich werde es heute abend testen und nehm dich in meine tägliche gebetsliste auf wenn das klappen sollte
- continuum
- UNSTERBLICH(R.I.P.)
- Beiträge: 14759
- Registriert: 09.08.2003, 05:41
- Wohnort: sauerland
- Kontaktdaten:
sched.mem.pshare.enable = "FALSE"
prefvmx.useRecommendedLockedMemSize = "TRUE"
prefvmx.minVmMemPct = "100"
mainMem.partialLazySave = "FALSE"
mainMem.partialLazyRestore = "FALSE"
mainMem.useNamedFile = "FALSE"
Warum hast du diese Zeilen in der vmx ?
Es reicht wenn du die in die config.ini eintraegst.
AFAIK wird
prefvmx.minVmMemPct in der vmx ignoriert.
Wir sind zur Zeit am untersuchen wie sich das genau verhaelt: welche Eintraege koennen in config und vmx verwendet werden , was ueberstimmt was usw.
Wenn dich das interessiert frage demnaechst nochmal nach oder besser:
verfolge die posts in meinem Forum - seit meinem offenen Brief an VMware sind die Brueder auf einmal sehr zuvorkommend
continuum hat geschrieben:sched.mem.pshare.enable = "FALSE"
prefvmx.useRecommendedLockedMemSize = "TRUE"
prefvmx.minVmMemPct = "100"
mainMem.partialLazySave = "FALSE"
mainMem.partialLazyRestore = "FALSE"
mainMem.useNamedFile = "FALSE"
Warum hast du diese Zeilen in der vmx ?
weil ich diese anleitung von dir aus einem anderen thread habe und sie bestens funktioniert.
continuum hat geschrieben:Es reicht wenn du die in die config.ini eintraegst.
wirkt sie dann nicht auf alle maschinen und ich kann es nicht mehr selektiv pro vm einstellen? es ist mir auch nicht sympathisch maschinenspezifische einstellungen NICHT in der jeweiligen .VMX einzutragen
continuum hat geschrieben:AFAIK wird
prefvmx.minVmMemPct in der vmx ignoriert.
Wir sind zur Zeit am untersuchen wie sich das genau verhaelt: welche Eintraege koennen in config und vmx verwendet werden , was ueberstimmt was usw.
Wenn dich das interessiert frage demnaechst nochmal nach oder besser:
verfolge die posts in meinem Forum - seit meinem offenen Brief an VMware sind die Brueder auf einmal sehr zuvorkommend
das werde ich machen, danke
- continuum
- UNSTERBLICH(R.I.P.)
- Beiträge: 14759
- Registriert: 09.08.2003, 05:41
- Wohnort: sauerland
- Kontaktdaten:
Ok - dann scheint bei VMs mit mehr als 2048 MB irgendetwas anders zu sein.
Kann ich leider nicht selber testen - ich werde es aber nachfragen.
Guckst du hier:
http://www.vmware.com/community/thread. ... adID=87289
Spasseshalber probier mal
mainMem.allow8GB = "true"
Kann ich leider nicht selber testen - ich werde es aber nachfragen.
Guckst du hier:
http://www.vmware.com/community/thread. ... adID=87289
Spasseshalber probier mal
mainMem.allow8GB = "true"
auf einem w2k3 host verhält es sich nicht viel anders, liegt an windows. die selbe vm läuft unter sles/debian ohne probleme fix mit 3gb ram. ich persönlich hätte jedoch kein performance problem erkennen können, wenn zb der domino service wieder startet holt sich die vm den ram wieder.
unter windows x32 gibts noch die 2gb grenze pro prozess.
unter windows x32 gibts noch die 2gb grenze pro prozess.
gerhardg hat geschrieben:installier dir einfach ein testsystem, ist ja in 15 minuten erledigt.
sicher nicht bei meinen beschränkten linux kenntnissen
gerhardg hat geschrieben:weils mir gerade einfällt, dein board/bios kann auch memory remapping? da du xp als host verwendest, wird es wohl ein standard pc sein?
nein, ich verwende xp als host weil es in technischer hinsicht das beste windows hostbetriebssystem ist. keine standard-pc hardware
gerhardg hat geschrieben:zumindest bei w2k3 server hilft die pae option nichts wenn diese option nicht verfügbar ist.
pae 3gb ist definitiv wirksam, das sieht man an der verwendung der auslagerungsdatei
continuum hat geschrieben:nein, ich verwende xp als host weil es in technischer hinsicht das beste windows hostbetriebssystem
aha - ich dachte immer 2k3 waer besser.
2k3 und xp sind technisch etwa gleichwertig, wenn man die lizenzkosten berücksichtigt ist xp dann besser
die voraussetzungen für ein windows-hostbetriebssystem sind:
1. software-raid
2. shadow copy
3. multi-cpu support
4. geringer ram-bedarf
5. konsolen-fernsteuerung
das erfüllen alles beide technisch, beim ram-bedarf hat xp etwas die nase vorne.
bei 32 bit könnte man an die 4gb ram-grenze stoßen die dann nur 2k3 enterprise überwinden kann.
das gilt natürlich nur für die von mir definierten anforderungen, für andere anwendungszwecke mögen andere kriterien wichtiger sein.
al!ve hat geschrieben:Aus welchem Grund sind Schattenkopien relevant für einen VMware-Host? Außerdem gibt s die meines Wissens unter Windows XP noch nicht.
die sind relevant um virtuelle maschinen online konsistent backupen zu können wenn man keinen esx sein eigen nennt.
windows xp unterstützt shadow copy vollständig. du meinst vielleicht die funktion "volumenschattenkopie" in 2k3. die basiert zwar auf der selben technologie ist aber etwas anderes. man könnte zwar die volumenschatten von 2k3 für backup-zwecke mißbrauchen aber diese variante ist weder ressourcenschonend noch mir sonst sonderlich sympathisch wenn es auch einfacher geht.
Zurück zu „VMserver 1 und GSX“
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast
