geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kevan Miller <kevan.mil...@gmail.com>
Subject Re: Geronimo Spring 2.5
Date Thu, 04 Dec 2008 14:52:45 GMT

On Dec 4, 2008, at 4:11 AM, rdomingo wrote:

>
> Hmm, damn. Cheered to early, tomcat shows already the outofmemory  
> again after
> about 15 deploys...

OK. So, looks there must be a ClassLoader memory leak.

If you can share your application, I can have a look. The causes are  
usually application code or application libraries. There can also be  
some temporal leaks with ThreadLocal/Stack variables preventing  
ClassLoaders from being GC'ed. Which version of G are you using?

Running with -XX:+HeapDumpOnOutOfMemoryError will cause the Sun JRE to  
generate a heap dump on out-of-memory conditions. You can then do some  
post-mortem analysis to help identify cause(s). I find that YourKit is  
a very good tool for analyzing the dumps...

If you can generate a dump, I'll take a look. Or if you have an  
application, I can recreate locally...

--kevan

>
> rdomingo wrote:
>>
>>
>> Kevan Miller wrote:
>>>
>>>
>>> On Dec 3, 2008, at 11:15 AM, rdomingo wrote:
>>>
>>>>
>>>> Thank you, this seems to do the job.
>>>> The spring related error is gone.
>>>
>>> Good.
>>>
>>>>
>>>> Off topic:
>>>> Currently I get java.lang.OutOfMemoryError: PermGen space
>>>> Actually this is the reason I would like to stop using tomcat....
>>>> I will look in to this tomorrow.
>>>
>>> This is after multiple deploy/redeploys or after a single deploy?  
>>> Have
>>> you bumped your permgen space (e.g. -XX:MaxPermSize=256m)? You don't
>>> see the same problem w/ Jetty?
>>>
>>> --kevan
>>>
>>>
>>
>> Kevan, you are the greatest :-))
>> Situation before  -XX:MaxPermSize=256m, out of memory all the time
>> Situation using -XX:MaxPermSize=256m, no more out of memory. This  
>> also
>> worked for me in tomcat
>>
>> But what is actually happening ???
>>
>> My gues is that My app didn't fit in mem or garbage collection hadn't
>> enough time to do it's job. By increasing the permSize I have more  
>> time to
>> do garbage collection before I run out of memory... Is this correct ?

So, we weren't sure if this was a static problem (the application is  
too large) or a memory leak (you're results tell us that it's a  
ClassLoader memory leak). Next step is to identify the cause...

There are some temporary ClassLoader memory leaks that can be caused  
by ThreadLocal and Stack variables. It doesn't sound like this is your  
problem.

--kevan


Mime
View raw message