On Mar 19, 2008, at 8:24 PM, ApolloX wrote:


I've noticed in most versions of Geronimo there appear to be memory leaks. For example, if I use the Hot Deployer to redeploy an EAR multiple times a
time on a development server, it often leads to OutOfMemory exceptions
regardless of how much the EAR is actually used.  In more general
environments, though, the server slowly accumulates memory until it requires
a restart every few days (or sooner).

I'm trying to address these issues by writing code that actively flushes any static application objects and runs garbage collection after, but I haven't had much success in decreasing memory over time. Can someone provide me
with code that I can use to flush the EJB container cache?  If I can
actively flush that cache, at least I can rule out it for potential memory
leaks.

I'm using openejb+tranql+mysql, but my understanding is that the cache is owned by openejb. I've tried determining how to flush the EJB CMP2 cache but I have yet to locate source code for openejb 2.2. Anyone have any code
(or suggestions) for how to flush the CMP2 cache?

OpenEJB 2.2 source is here -- 
https://svn.apache.org/repos/asf/incubator/openejb/tags/openejb-2.2

Do you have evidence that an OpenEJB cache is the cause of your problem? If not, I'd suggest you use a profiler (e.g. JProfiler or YourKit) to analyze your memory growth. I like to use the '-XX: +HeapDumpOnOutOfMemoryError' JRE option and analyze the resultant heapdump...

If you're seeing these OOME problems on 2.0 or 2.1, let me know and I'll have a look... IIRC, I tested deploy/undeploy on 2.0 and we were clean. It's easy for problems to sneak back in, however...

--kevan

Reply via email to