Martin Jung: MemoryLeak bei Tomcat4/JSP/MYSQL-Projekt

Beitrag lesen

Hi,

Nachdem das ganze ca. 1 Woche lang gelaufen ist, ist der
RAM (1 GB!!) voll.
Wo könnte das Problem liegen ?
Gibt es bekannte Probleme und eventuelle bekannte Problemlösungen
dieser Art in Hinblick auf die oben angeführten Komponenten ?

Kann man in JSP programmiertechnisch so ein Problem hervorrufen ?

  • Es gibt zwar den GC, was passiert aber, wenn man eine Connection
      nicht schließt ?

Habt Ihr Testklassen bzw. ein Testsystem, die Euer "ein Wochen Problem" simulieren?
wenn ja:

  • verwendet einen anderen Treiber (müsst Ihr schon selbst suchen) und prüft mit Eurem Testsystem, ob das Problem verschwindet. Das automatische Connection closing wird durch den Treiber gemanagt. Wenn er unsauber implementiert ist (z.B. nicht alle internen Referenzen auf die Connections freigibt), kann der GC auch nichts entsorgen.
  • "closed" die Connections explizit und schaut, ob das Problem verschwindet. Eplizites Schließen verringert übrigens die Wahrscheinlichkeit, dass ein solches Problem mit irgendeinem JDBC-Treiber auftritt.
  • überlegt, ob es generell nicht sinnvoller ist, über die Einführung einer Connection-Pooling Komponenete nachzudenken

noch eine Anmerkung:
Es gibt sher viele Produktivsystem mit Eurer Hardwarearchitektur, die im Dauereinsatz ohne jegliches Speicherproblem laufen.

Viele Grüße,
Martin