Wie kann ich Speicher freigeben?
Auf unserem App-Server sind seit einiger Zeit Speicherfehler aufgetreten. Wir sehen, dass die Größe des verwendeten Heaps allmählich zunimmt, bis schließlich die verfügbare Größe des Heaps erreicht ist. Dies geschieht alle 3 Wochen. Anschließend muss der Server neu gestartet werden, um dies zu beheben. Bei der Analyse der Heap-Dumps stellen wir fest, dass es sich bei dem Problem um Objekte handelt, die in JSPs verwendet werden.
Können JSP-Objekte die eigentliche Ursache für Appserver-Speicherprobleme sein? Wie können wir JSP-Objekte freigeben (Objekte, die mithilfe von usebean oder anderen Tags instanziiert werden)?
Wir haben einen geclusterten Websphere-App-Server mit 2 Knoten und einem IHS.
BEARBEITEN: Die obigen Ergebnisse basieren auf der unten angegebenen Heap-Dump- und Nativestderr-Protokollanalyse mit dem IBM Support-Assistenten
nativestd err log analysis:
Alternativtext http://saregos.com/wp-content/uploads/2010/03/chart.jpg
Heap-Dump-Analyse:
! [Alternativtext] [2]
Heap-Dump-Analyse, die die unmittelbaren Dominatoren zeigt (2 Ebenen höher als der hastable Eintrag im obigen Bild)
! [Alternativtext] [3]
Das letzte Bild zeigt, dass die unmittelbaren Dominatoren tatsächlich Objekte sind, die in JSPs verwendet werden.
EDIT2: Mehr Infos unterhttp://saregos.com/?p=43