Hallo
Bei meinem aktuellen Projekt geht mir nach einiger Zeit der Heap-Speicher aus. Bei der Analyse ist mir aufgefallen, dass anscheinend irgendwelche Ereignisse den Heap vollmüllen. Im angehängten Bild ist dieses Verhalten schön zu erkennen. Ich kann mit ziemlicher Sicherheit ausschließen, dass der Trigger für diesen Sprung aus meinem Programm kommt. Der Speicher wird nicht wieder freigegeben. Hab's auch schon erfolglos mit System.gc() versucht.
In verschiedenen Aufzeichnungen konnte ich ähnlich, kleinere Sprünge feststellen, die anscheinend durch Ereignisse wie einen einsetzenden Bildschirmschoner oder Verbinden per RDP ausgelöst werden.
Kennt jemand ein solches Verhalten und kann mir das erklären? Wie kann man das vermeiden, bzw. kriegt den Speicher wieder frei?
Das Programm lauft unter JRE7 32Bit auf einem Windows7- Rechner.
Schon mal vielen Dank für die Hilfe.
Bei meinem aktuellen Projekt geht mir nach einiger Zeit der Heap-Speicher aus. Bei der Analyse ist mir aufgefallen, dass anscheinend irgendwelche Ereignisse den Heap vollmüllen. Im angehängten Bild ist dieses Verhalten schön zu erkennen. Ich kann mit ziemlicher Sicherheit ausschließen, dass der Trigger für diesen Sprung aus meinem Programm kommt. Der Speicher wird nicht wieder freigegeben. Hab's auch schon erfolglos mit System.gc() versucht.
In verschiedenen Aufzeichnungen konnte ich ähnlich, kleinere Sprünge feststellen, die anscheinend durch Ereignisse wie einen einsetzenden Bildschirmschoner oder Verbinden per RDP ausgelöst werden.
Kennt jemand ein solches Verhalten und kann mir das erklären? Wie kann man das vermeiden, bzw. kriegt den Speicher wieder frei?
Das Programm lauft unter JRE7 32Bit auf einem Windows7- Rechner.
Schon mal vielen Dank für die Hilfe.
Anhänge
Zuletzt bearbeitet: