# Java Heap Size feststellen



## Perikles (29. Mrz 2010)

Hallo allerseits!

Gibt es eine Möglichkeit, aus einem Java-Programm heraus die initiale, aktuelle und maximale Größe des Java-Heap-Speichers der virtuellen Maschine festzustellen? -- Entsprechende Methoden konnte ich nirgends finden.

Mich interessiert, ob der Anwender es beim Aufruf meines Programms bei den Standard-Werten belassen hat oder ob er mit den Argumenten -Xms und -Xmx eigene Vorgaben gemacht hat.

Vielen Dank für Tipps! 

Beste Grüße,
Perikles


----------



## faetzminator (29. Mrz 2010)

Versuchs mit Runtime (Java Platform SE 6) bzw. Runtime (Java Platform SE 6) oder Runtime (Java Platform SE 6).


----------



## Perikles (30. Mrz 2010)

Sowas habe ich gesucht. Super, danke!


----------



## tobi193 (30. Mrz 2010)

Mich würde mal genau das Gegenteil interessieren.
Wie kann ich denn überhaupt den Heap Size in einer .jar verändern ? Der normale User ruft ja das Programm nicht über die Konsole auf. Kann man da etwas in die Manifest vielleicht schreiben ?
Ich habe es zwar hinbekommen mit einer .bat mit dem Inhalt: 
    java -Xmx256m -jar MeinProgramm.jar

Aber es muss doch auch irgendwie in der .jar gehen, außerdem wird dann ein zusätzliches Konsolenfenster geöffnet.


----------



## faetzminator (30. Mrz 2010)

Das geht nicht. Entweder du schreibst ein Startscript (bat, sh, ...) oder verwendest Webstart.


----------



## tobi193 (30. Mrz 2010)

Kann man auch nicht innerhalb des Programms irgendwie den Heap Size erhöhen ? 
Also z.B. in einer Klasse die ein Objekt der Klasse erzeugt in der die speicheraufwendige Arbeit durchgeführt wird ?


----------



## faetzminator (30. Mrz 2010)

Kannst du bitte das nächste Mal einen neuen Thread dafür aufmachen?
Aber die Antwort auf deine Frage ist ebenfalls wieder nein, ansonsten könnte sich jedes beliebige Programm einfach Speicher reservieren.


----------

