# XML Datei heapspace erreicht



## mavinatic (10. Mai 2011)

Hallo Community,

ich habe folgenes Problem, ich lade eien XML Datei und durchsuche sie nach bestimmten Werten. Das ist alles kein Problem, jedoch habe ich ein Problem, dass mein Programm alle XML Dateien aus einem Ordner nacheinander läd und dadurch mein Heapspace erreicht wird. Wie kann ich erreichen das nach dem verarbeiten die Datei aus dem Speicher gelöscht wird. ich habe es schon mit System.gc(); und file = null; probiert, jedoch bleibt mein speicher voll.

Gruß


----------



## Niki (10. Mai 2011)

du wirst vermutlich irgendwo Referenzen auf den DOM halten. Poste mal den relevaten Code


----------



## maki (10. Mai 2011)

> Das ist alles kein Problem, jedoch habe ich ein Problem, dass mein Programm alle XML Dateien aus einem Ordner nacheinander läd und dadurch mein Heapspace erreicht wird.


Das ist in der Tat ein Problem.
Erhöhung des Heaps (Xmx Parameter) würde das Problem "verschieben", solange, bis die Dateien größer werden oder mehr Dateien in den ordnern stehen.
Wie "durchsuchst" du denn die XML Dateien?
StAX bietet sich an wenn man nicht alles auf einmal im Speicher haben möchte.


----------



## Wildcard (11. Mai 2011)

> Wie kann ich erreichen das nach dem verarbeiten die Datei aus dem Speicher gelöscht wird. ich habe es schon mit System.gc(); und file = null; probiert, jedoch bleibt mein speicher voll.


Du hast vermutlich ein Memory Leak das verhindert das die alten Dokumente abgeräumt werden können. In solchen Fällen zieht man sich am besten einen Heap Dump (wenn die Lösung nicht offensichtlich ist) und analsyiert ihn. Eclipse MAT ist dafür IMO das beste Werkzeug:
Eclipse Memory Analyzer Open Source Project


----------

