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

Reply via email to