Abfall des Speicherverbrauchs der JVM

anjepieft

Mitglied
Hallo zusammen,
ich überwache den Speicherverbrauch der JVM auf einem Java AS. Zu einem willkürlichen Zeitraum fällt der Speicherverbrauch der JVM plötzlich ab, ohne das es eine besondere Erklärung dafür gibt. Vorher schwankt der Verbrauch im Zickzack zwischen 1400 und 1750 MB. Nach dem Abfall schwankt er nur noch zwischen 900 und 1200 MB.

Kann mir jemand dieses Verhalten erklären?
 
Hi,
es ist ein SAP AS Java auf dem eine NetWeaver CE 7.2 Installation läuft. Das Verhalten taucht sowohl auf wenn ein Prozess läuft und andere Prozesse deployed werden als auch wenn kein Prozess läuft und nichts deployed wird. Die Java Version ist 1.5
 
Zuletzt bearbeitet:
Mh... Das ist schwierig zu sagen. Ich vermute mal, dass die JVM in regelmäßigen Abständen den Chache von nicht mehr benutzten Dingen leert. Dass das allerdings so einen gewaltigen Speicherunterschied ausmacht, könnte ich mir eigentlich nicht vorstellen.
Fällt die Speichernutzung auch mal unter den Wert von 900MB-1200MB?
 
Der niedrigste Wert liegt bei 867 MB. Das komische ist das der Verbrauch jetzt seit einer Stunde bei den niedrigen Werten schwankt und vorher die ganze Zeit bei den höheren Werten lag obwohl der selbe Traffic erzeugt wird...
 
Spontan hört sich das so an, dass normalerweise nur kleine GC passieren (von den ersten 2 Speicherbereichen), aber irgendwann der große GC gemacht wird, wodurch alle Speicherbereiche angeschaut werden und somit auch die Objekte aufgeräumt weden, die es länger überlebt hatten.
 
Mit der jconsole lässt sich auch die Anzahl Threads, Classes u.ä.m. überwachen. Erzeuge einmal vor dem Memory-Abfall mit der jconsole ein VM-Summary und nach dem Abfall nochmals ein VM-Summary und Vergleiche die Werte. Gibt es Unterschiede?
 
Zurück