Seite 1 von 1

Merkwürdiges memory verhalten

Verfasst: 29.04.2015, 11:12
von moo2102
Hi Ich hab ein merkwürdiges Problem und hoffe ich steh nur gewaltig auf dem Schlauch und jemand kann mich mal runterschubsen ;)
Also wir haben hier eine Linux VM wo bei Ressource Allocation
Bild
Ich verstehe das So das die VM 4GB bekommen hat, was auch so ist davon nur 3 nutzt, was auch ok ist, da die Kollegen noch einen 32bit Kernel nutzen der nicht mehr kann, das wird nachher noch gefixt.
Was mir jetzt aber komisch vorkommt ist folgendes.

Bild

Im Performance Tab wird bei der Memory usage nie mehr als 25 also 1GB angezeigt.
Woran kann das liegen?

Verfasst: 29.04.2015, 11:38
von ~thc
Du siehst im Chart den Wert für "Acitve Memory" (oben: grüngelb).

Verfasst: 29.04.2015, 11:44
von moo2102
Wenn ich aber im Gast Top eingebe zeigt der mir an das er die vollen 3GB Nutzt.

Verfasst: 29.04.2015, 11:49
von ~thc
Ja.

Was vSphere als "Active" ansieht, ist ein Wert, der sich komplett von der Innenansicht der VM unterscheidet. Gut beobachten kannst du das, wenn du eine VM neu startest: Kurzzeitig ist das genutzte RAM auch im vSphere "aktiv".

Verfasst: 29.04.2015, 12:12
von moo2102
Aber wenn die VM unter vollast ist, dann sollte doch der Wert irgendwann auch mal auf 100% gehen, das macht er aber nicht.
Wie gesagt vielleicht steh ich ja im Moment auch nur voll auf dem Schlauch, kann net glauben das die VM nie mehr als 1GB Speicher benötigt.

Verfasst: 29.04.2015, 12:14
von irix
"Acitve Memory" ist einer der unverstaendlichsten vSphere Performance Counter den es gibt. Gemeint ist der sich geaenderte Speicher in Zeitraum X.

Wenn dein OS oder eine Anwendung gerne ReadCache verwendet dann ist das fuer VMware von aussen nicht zusehen und vermittelt dir das Gefuehl die VM wuerde den Speicher nicht benutzen oder waere Ueberdimensioniert, was aber eine falsche Annahme ist.
Was VMware aufwendet sieht man oben Rechts immer in HostMemory und wenn du wissen willst was die VM macht dann Frage das OS.

Aber ob das die Anwort/Erklaerung auf deine Eingangsfrage ist da bin ich mir noch nicht so sicher.

Gruss
Joerg

Verfasst: 29.04.2015, 12:29
von bla!zilla
Aktiver Speicher beschreibt Speicherseiten, die von der VM gerade (oder im Zeitraum X, siehe Irix Posting) aktiv angegrabbelt werden. Linux verwendet viel Speicher als Buffer etc. Das ist für VMware ESXi kein aktiver Speicher.

Verfasst: 29.04.2015, 12:54
von moo2102
Also in so einem Fall dann eher auf das Ressource allocation Tab schauen und RAM erhöhen?

Verfasst: 29.04.2015, 12:59
von irix
moo2102 hat geschrieben:Also in so einem Fall dann eher auf das Ressource allocation Tab schauen und RAM erhöhen?


Nein. Sondern das Etwas zwischen deinen beiden Ohren befragen damit es sich das OS und deren Anwendungen anguckt was die aktiv machen bzw. im Falle von Linux sich die Buffer angucken.

Gruss
Joerg

Verfasst: 29.04.2015, 13:48
von Sven_B1982
wenn man auf "Help" klickt wird es einem sogar erklärt was die zeilen genau bedeuten, auszug aus dem deutschen Client:

Nicht zugegriffen

Die Arbeitsspeichermenge, die nie vom Gast referenziert wurde.

Aktiv

Die Arbeitsspeichermenge, auf die zuletzt zugegriffen wurde.

Verfasst: 30.04.2015, 07:07
von moo2102
Also in so einem Fall dann eher auf das Ressource allocation Tab schauen und RAM erhöhen?

Verfasst: 30.04.2015, 07:46
von bla!zilla
Warum RAM erhöhen? Ausgehend vom Screenshot sind 3 GB "consumed" und 400 MB "active". Da gibt es gar keinen Grund den RAM zu erhöhen.

Verfasst: 30.04.2015, 07:53
von ~thc
Du hast dieser VM 4 GB zugewiesen, von denen sie drei alloziert. Zur Laufzeit werden von den Prozessen in der VM einige Hundert MB immer aktiv genutzt. Also alles im grünen Bereich.

Was möchtest du eigentlich wissen?

Verfasst: 04.05.2015, 12:20
von moo2102
Die User beschweren sich das bei einem Javalauf irgendwas abschmiert und wollten mir mitteilen das es daran liegt das der Server zu wenig Arbeitsspeicher hätte, da ich das aber bei den Performancecountern so nicht sehen konnte wollte ich nur wissen ob ich das richtig sehe.

Verfasst: 04.05.2015, 12:32
von ~thc
Falls deine User den Heap/Stack der JavaVM meinen:

Code: Alles auswählen

    -Xms<size>        set initial Java heap size
    -Xmx<size>        set maximum Java heap size
    -Xss<size>        set java thread stack size