Hallo,
Der Speicherbedarf bei einer grösseren Applikation wird nach vielen Transkationen immer grösser.
Der reservierte Speicherberich der VM steigt von 20Mb bis 65Mb an. Sobald die 65Mb erreicht sind entsteht eine Blockade.
Wenn ich den Speicherverlauf mir anschaue verhält sich das ganze wie in einem Stuffensystem.
Belegt Reserviert
10MB 21MB
15MB 21MB
20MB 21MB
10MB 26MB
15MB 26MB
20MB 26MB
25MB 26MB
10MB 31MB
und so weiter.
am Ende sind die 65MB reserviert und auch belegt.
Ich habe daruf hin folgende der JVM folgende Argumente übergeben.
-Xms20m -Xmx80m -XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=80
Somit startet die Applikation mit 20MB reserviertem Speicherplatz.
Der max. Speicherplatz beträgt 80MB.
Und das Verhältnis zwischen dem freien und dem belegetem Speicher ist mit 20%min und 80%max angegeben.
Durch diese Einstellung wird der reservierte Speicherbereich nie überschritten.
Und die Applikation läuft ohne Probleme längere Zeiten durch.
Es wäre doch besser das die Vm wie folgt arbeitet.
Der reservierte Speicherbereich wird erweitert falls es nötig ist. Und auch wieder reduziert wenn es möglich ist.
Das Letztere wird aber nicht automatisch gemacht. Kann mir einer einen Grund dafür nennen.
Vielen Dank schonmal für eure Hilfe...
Der Speicherbedarf bei einer grösseren Applikation wird nach vielen Transkationen immer grösser.
Der reservierte Speicherberich der VM steigt von 20Mb bis 65Mb an. Sobald die 65Mb erreicht sind entsteht eine Blockade.
Wenn ich den Speicherverlauf mir anschaue verhält sich das ganze wie in einem Stuffensystem.
Belegt Reserviert
10MB 21MB
15MB 21MB
20MB 21MB
10MB 26MB
15MB 26MB
20MB 26MB
25MB 26MB
10MB 31MB
und so weiter.
am Ende sind die 65MB reserviert und auch belegt.
Ich habe daruf hin folgende der JVM folgende Argumente übergeben.
-Xms20m -Xmx80m -XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=80
Somit startet die Applikation mit 20MB reserviertem Speicherplatz.
Der max. Speicherplatz beträgt 80MB.
Und das Verhältnis zwischen dem freien und dem belegetem Speicher ist mit 20%min und 80%max angegeben.
Durch diese Einstellung wird der reservierte Speicherbereich nie überschritten.
Und die Applikation läuft ohne Probleme längere Zeiten durch.
Es wäre doch besser das die Vm wie folgt arbeitet.
Der reservierte Speicherbereich wird erweitert falls es nötig ist. Und auch wieder reduziert wenn es möglich ist.
Das Letztere wird aber nicht automatisch gemacht. Kann mir einer einen Grund dafür nennen.
Vielen Dank schonmal für eure Hilfe...