FWIW, jmap -dump is only on Java 1.6, not 1.5.
mrg
On Thu, Aug 13, 2009 at 3:29 PM, Tore Halset<halse..vv.ntnu.no> wrote:
> Hello.
>
> It is hard to tell where the memory problems are without looking at the
> actual used memory. I normally use jmap to dump memory info and then jhat on
> a different computer to analyze the dump.
>
> jmap -dump:live,file=filename pid
> jhat -J-Xmx10G filename
>
> Depending on your heap size, jhat may need a lot of memory and cpu. That is
> why I normally copy the file to a separate non-production server.
>
> If your memory are filled with cayenne DataRows, then you should look at the
> size of the datarow cache. Both DataRows and CayenneDataObject use Maps that
> need quite a lot of memory, so you should not have too many.
>
> Regards,
> - Tore.
>
> On Aug 13, 2009, at 6:22 PM, Joe Baldwin wrote:
>
>> Background:
>>
>> I have been attempting to do as much performance tuning as I can given the
>> visibility of the middleware I am using, but am running into severe "out of
>> memory" errors with Tomcat on my production server. My current theory is
>> that I may have missed something concerning how to properly maintain my
>> Cayenne data objects.
>>
>> Configuration:
>> 1. I am using the most recent version of Cayenne.
>> 2. This is primarily a web app, using JSP, Tomcat, Cayenne and MySQL
>> 3. Tested both on OSX and Linux
>> 4. Essentially, it is a webstore with a lot of products
>> - small amount of UPDATES
>> - very large amount of searches resulting in result sets that will
>> average between 50-500 products for read-only
>> - occasional large result sets of a few thousand products for
>> read-only
>> 5. The design is a simple 3-tier.
>>
>> After a few hours to a few days of what appears to be very light usage,
>> Tomcat reports "out of memory" errors. Since the vast majority of the tasks
>> performed by the app are funneled through Cayenne, I am assuming that is
>> where I am making the mistake.
>>
>> Question:
>> What is the best way to manage the data objects in this configuration?
>> (i.e. caching, releasing memory, etc)
>>
>> Note:
>> I was researching the Java Library ArrayList (which I believe is the
>> work-horse for the Cayenne result sets), and there are many recommendations
>> concerning custom clearing of the list and releasing memory. Is this
>> possibly where I am may have missed something?
>>
>> Thanks,
>> Joe
>>
>>
>
>
This archive was generated by hypermail 2.0.0 : Thu Aug 13 2009 - 16:46:11 EDT