Hello, i have a Memory Leak Problem with an Application running in Tomcat (5.5): The Application often Runs into HeapError- Out of Memory.
Sometimes it only takes 5 Minutes, then sometimes the Applications runs for 5 Days, without a Problem. Its always the same Testenvironment. In Catalina Opts the Flag for HeapDumpOnError is setted, so we have many HeapFiles here. And on most of them, the Memory Analyser Tool (the Tool from the Eclipse Project) says as Top Consumer: ThreadWithAttributes with around 50%+ of available memory(in some cases also 75%). Catalina_Opts is setted to: -Xms512m -Xmx768m. (Also tryed so Testcases with aditional -XX:NewSize=300M -XX:MaxNewSize=300M -XX:SurvivorRatio=8 -XX:PermSize=48M -XX:MaxPermSize=48M, but same result, it only takes more time to run into Errorstate.) The Application it self does not need so much Memory: Running GC periodically (added GC-Call to Controller Class for testing) i can see, that the memory is around some hundred MB, 150-250 or so. Creating a HeapDump, while Application is running, i also never see ThreadWithAttributes in Memory Analyser. It only appears in the Heap Files, which are created on HeapOutOfMemory Error. Searching for ThreadWithAttribute in Google, i found nothing expect Javadoc( and some Arctices where ThreadWithAttributes is also part of the Problem, but no the MainError). Does anyone know, what ThreadWithAttributes is for and why it can become that large ? The Application gets some Images an Binary Files via XML-RPC, does some Operation on it and sends it to other Systems(XML-RPC /Axis). But the Application is not the importent thing, i want to understand, what ThreadWithAttributes does and what it is for and why it only occures in ErrorCases. Hope someone can help me with this Problem. Iam very new in JavaProfiling and Memory Handling. ________________________ Patrick