# Eclipse, Speicherauslastung im Taskmanager steigt...



## nickname (29. Dez 2009)

Hi Leute,

hab folgendes festgestellt. Immer wenn ich mein Prog. teste (unter Eclipse Ganymede), steigt
im Taskmanager meiner Speicherauslastung und geht auch nicht weiter runter.
Ist das normal oder werden dort meine Prozesse (Stichwort Garbage Collector) nicht "richtig beendet" ??

(Beim Start liegt die Speicherauslastung bei 94.xxx k und nach zwei oder drei mal testen schon bei 138.xxx k) ist zwar nicht die Welt aber ...???:L

Hab ihr da vllt einen Tipp?

Ach so, ich arbeitet auch in Verbindung mit MySQL. 

gruß,

nickname


----------



## madboy (29. Dez 2009)

Das ist normal. Von der Java-VM ein Mal reservierter Speicher wird nicht mehr freigegeben.


----------



## javimka (29. Dez 2009)

So pauschal kannst du das nicht sagen. Der VM bleibt gar nichts anderes übrig, als den Platz wieder herzugeben, sobald das OS dies verlangt. Bei einer Speicherauslastung von 138 MB ist das noch nicht nötig.


----------



## madboy (29. Dez 2009)

javimka hat gesagt.:


> Der VM bleibt gar nichts anderes übrig, als den Platz wieder herzugeben, sobald das OS dies verlangt.


Aber sicher bleibt der VM was übrig. Die sagt: "neee, den Speicher brauch ich aber" ;-)

Aber du hast Recht, javaimka. Dachte bisher, der Speicher bleibt für alle Zeiten allokiert...

Meine einzige Quelle ist dieser Bugreport: Bug ID: 6498735 JVM should be able to fully release allocated memory
Sollte jemand noch andere Quellen zum Thema haben wäre ich sehr interessiert 

EDIT: so weit ich weiß, sagt das Betriebssystem übrigens nicht zum Prozess, der viel Speicher allokiert hat "gib mal mehr Speicher frei" sondern es sagt zum Prozess, der mehr Speicher will "sorry, nix mehr da"


----------



## javimka (30. Dez 2009)

Ich glaube sowieso nicht, dass der Prozess weiss, wieviel Speicher er zur Verfügung hat und so hat er auch gar kein "Mitspracherecht".
Ich habe ein einfaches Programm geschrieben, das einige riesige Arrays alloziert und dann wieder auf null setzt. Ich konnte im Taskmanager mitverfolgen, wie der Speicherbedarf zunächst anstieg und dann wieder auf ein gewisses Niveau sank. Als ich dann das Programm parallel ein zweites Mal startete, dieses nun also sehr viel Speicherplatz verlangte, sank der Speicherplatz des ersten Prozesses noch einmal stark. Die Performance war beim zweiten Start einiges schlechter, als noch beim ersten, ich gehe davon aus, dass das OS oder die VM einiges rumschieben und neu organisieren musste.


----------

