cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mike Kienenberger <mkien...@gmail.com>
Subject Re: Memory Management using Tomcat
Date Wed, 16 Sep 2009 18:25:53 GMT
Caveat: I'm not really an expert on Cayenne memory management.

1) Are you allocating enough heap memory to the app server to start
with?   I don't know what the default is these days, but in the old
days, an application by default only gets 64Mb of memory -- that's
pretty small.

2) Are you using a new DataContext per request?  Or at least per session?

3) I seem to remember that the cache strategy is configurable.  Have
you configured a cache that only retains N number of objects for a
suitable value of N?

On Wed, Sep 16, 2009 at 2:11 PM, Joe Baldwin <jfbaldwin@earthlink.net> wrote:
> Hi,
>
> I have asked this question a number of ways but I still have a very serious
> problem with Cayenne-specific memory management configuration associated
> with Tomcat.
>
> The problem with debugging is that given that I have very little visibility
> into the Cayenne memory management it is extremely difficult to debug this
> using conventional strategies.  Also I am not requesting anything from the
> system that is terribly exceptional so I am attempting to use default
> settings as much as possible.
>
> My strategy is to ask the experts for a Cayenne configuration and standard
> memory management steps I should take to conform to the new Cayenne memory
> management design intentions.
>
> Problem:
> 1. I have essentially a webstore, three tier design with Tomcat, Cayenne and
> MySQL.
> 2. When after only a few queries of products, tomcat freezes up and reports
> out of memory errors.
>
> I have attempted to configure the caching strategy ask best as I can
> understand from the docks but this only gets me a few more hours of usage
> before the out of memory errors.  (I tried the SHARED_CACHE). The NO_CACHE
> strategy is worse.
>
> I would appreciate a set of steps (aka a primer) that should handle a
> website with a lot of fetches of hundreds of data objects (i.e. products)
> and very few updates.
>
> Note: My gut feeling is that I am not properly managing the data object
> array properly and it is leaking memory.
>
> I would appreciate any input, but I would first like to know what the
> minimum require steps are for managing at data object result set ArrayList
> so as to properly cache and then properly free the memory after it is no
> longer needed.
>
> Context: Tomcat, MySQL, Cayenne 3.0M6
>
> Thanks,
> Joe Baldwin
>
>

Mime
View raw message