# HeapSize abfragen



## rizor (30. Juli 2008)

Hi,

ich habe folgendes Problem.
Ich habe ein Programm geschrieben, dass unter Umständen sehr viel Speicher benötigt.
Das lässt sich leider nicht verhindern.
Nun möchte ich aber nicht umsonst bestimmte Berechnungen machen damit ich später merke, dass der Heap nicht ausreicht.

Wie kann ich die Heapgröße abfragen und wie kann ich die größe einer Variable abfragen?

Danke für eure Hilfe.

Gruß
rizor


----------



## Thomas Darimont (30. Juli 2008)

Hallo,

die Informationen zur Heap Speicherauslastung bekommst du ab Java 5 via:
ManagementFactory.getMemoryMXBean().getHeapMemoryUsage()

Den genauen Speicherverbrauch einer Instanz kann man nur mit einem entsprechenden Profiler bzw. über einen Heap Dump erfahren. Es gibt jedoch Möglichkeiten den Speicherverbrauch "näherungsweise" zu bestimmen.

Schau mal hier:
http://www.tutorials.de/forum/java/268603-speicherverbrauch-einer-java-klasse.html

Weiterhin interessant: das von der SAP als open source veröffentlichte Eclipse Memory Analyzer Tool: http://www.eclipse.org/mat/

Gruß Tom


----------

