Try using jvisualvm or a similar tool to get a heap dump of the JVM after it 
has been running for a while so you can see where the memory is actually being 
used.

On 14/03/2011, at 6:36 PM, Gennady Kushnir wrote:

> Hello again everybody.
> I still hope somebody would answer.
> I'va made GC logging with -XX:+PrintGCDetails and I see some
> interesting things happening.
> It seems like some uncollectable garbage is being accumulated in memory.
> Within the first hour heap usage goes up 35M and then within next 6
> hours falls back to that number after rare fullGC acts.
> After 8 hours that lower limit goes up to 40M, after 20 hours - to 45M
> and fullGC acts happen significantly more often.
> After 30 hours heap usage would not fall lower 50M and after 35 hours
> almost every GC is fullGC. Since 60 hour lowest heap usage is 55M.
> Finally at about 95 hours I get OutOfMemory error as the heap is
> limited by default to 64M.
> 
> So my question is - what should I do now?
> Is it expected behavior for large WO application?
> Should I simply rise max heap limit to find memory amount that would be 
> enough?
> Should I schedule WOMonitor to restart the App every night?
> Or such behavior should be considered as my error somewhere in code?
> So where should I look for memory leaks?
> 
> 2011/3/3 Gennady Kushnir <genk...@rujel.net>:
>> Hello All!
>> I would raise this topic again. Thanks for all tips you have me.
>> Jprofiler is too commercial for me unfortunately. And VisualVM failed
>> to run on my deployment system (Xserve G4).
>> In fact even when run on my dev system, I could not actually figure
>> out how it could help me :(
>> I feel sad about I loosely know many aspects in Java technology. Could
>> you give me some links where to read about such things as "Eden",
>> "young generation" and "survivors" - I did not get these terms.
>> 
>> And about those ec's that don't get garbage collected. After
>> eliminating all references to EO's outside components I still could
>> not get rid of that issue.
>> When debugging I've finally noticed inside a WOSession object an
>> NSMutableDictionary called _contextRecords, which holds hard
>> referenced on ALL previously used components. Even though I have
>> reduced pageCacheSize to 5 in an Application constructor.
>> And those components hold references to those ec's so they can't get
>> garbage collected...
>> Sad...
>> 
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/webobjects-dev/qdolan%40gmail.com
> 
> This email sent to qdo...@gmail.com

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to