If they are not candidates for GC then it is possible they are not the
weakly/softly referenced entities I was talking about.  I have previously
talked about weavers 'suiciding' when they haven't loaded anything for a
prolonged period of time but that has never been implemented (it would mean
that anything that classloader subsequently loaded wouldn't get woven
correctly).

Have you confirmed that you are not getting AspectJ weavers for
classloaders that you don't need (like a proliferation of JSP related
ones?)  Running with basic weaver debug turned on should mean LTW debug
will show you which classloaders are getting weavers.  Then using the info
in that bug I referenced you can force AspectJ to skip weaver creation as
appropriate.

cheers,
Andy


On 23 August 2013 05:51, Venkatesh Laguduva <lbvenkat...@gmail.com> wrote:

> >>  we are using weak/soft refs internally. Depending on how memory is
> being reported these may be shown in 'usage' stats but are really
> candidates for GC whenever the VM decides it wants to do so.
>
> The heap dump I am looking at was created at the time of OutOfMemory error
> and 39% of heap was consumed by org.aspectj.* objects; OutOfMemory error
> was actually is this "java.lang.OutOfMemoryError: GC overhead limit
> exceeded' "; I am wondering, why did these org.aspectj.* objects were not
> picked by the GC when they were available? I am using Tomcat and JDK
> 1.6u26; It will be greate If I can make the GC to collect these
> org.aspectj.* objects. Is there a way to do that?
>
> Thanks
> Venaktesh Laguduva
>
>
> On Mon, Aug 19, 2013 at 10:21 PM, Andy Clement 
> <andrew.clem...@gmail.com>wrote:
>
>> Sorry Venkatesh I was out on holiday for a few days.  Probably a couple
>> of factors at play:
>>
>> - we are using weak/soft refs internally. Depending on how memory is
>> being reported these may be shown in 'usage' stats but are really
>> candidates for GC whenever the VM decides it wants to do so.
>>
>> - weavers exist for too many class loaders.  This is the JSP discussion
>> you referenced in the other thread.  You mentioned the other thread but
>> said you are using 1.7.3 which doesn't have the capability to exclude
>> certain classloaders?   You need the changes from a dev build if you want
>> to try it, see the bug
>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=368046 that discusses the
>> config options. A dev build containing the changes is here (AJ downloads
>> page): 
>> aspectj-DEVELOPMENT-20130730075800.jar<http://www.eclipse.org/downloads/download.php?file=/tools/aspectj/dev/aspectj-DEVELOPMENT-20130730075800.jar>
>>
>> You might want to turn on the diagnostics so you can see which
>> classloaders are getting weavers which will help you determine the names of
>> those you'd like to exclude.
>>
>> cheers,
>> Andy
>>
>>
>>
>> On 12 August 2013 23:38, Venkatesh Laguduva <lbvenkat...@gmail.com>wrote:
>>
>>> Experts,
>>>    Please do chime in with your thoughts.
>>>
>>> Thanks
>>> Venkatesh Laguduva
>>>
>>>
>>> On Sun, Aug 11, 2013 at 12:43 AM, Venkatesh Laguduva <
>>> lbvenkat...@gmail.com> wrote:
>>>
>>>> We have enabled LTW in our web app as it is required for a library
>>>> used; we are using the latest version 1.7.3 but unfortunately, as soon as I
>>>> start the tomcat, I see that almost 50% of the heap is consumed by
>>>> org.aspect.* objects.
>>>> Class Name
>>>>                        | Shallow Heap | Retained Heap | Percentage
>>>>
>>>> -----------------------------------------------------------------------------------------------------
>>>> org.apache.catalina.loader.WebappClassLoader @ 0x1794fcc0|
>>>>               176 |   9,36,88,104   |     48.19%
>>>> |- org.aspectj.weaver.ltw.LTWWorld @ 0x17941c78
>>>>          |          136 |   7,65,52,016 |     39.37%
>>>> |  |- org.aspectj.weaver.World$TypeMap @ 0x17cc6cd0
>>>>         |           40 |   7,64,98,456 |     39.35%
>>>>
>>>> -----------------------------------------------------------------------------------------------------
>>>>
>>>> I could sense this post
>>>> http://dev.eclipse.org/mhonarc/lists/aspectj-users/msg13940.html comes
>>>> very close to my problem but did not help since I am already on the latest
>>>> version.
>>>>
>>>> Thanks
>>>> Venkatesh Laguduva
>>>>
>>>
>>>
>>> _______________________________________________
>>> aspectj-users mailing list
>>> aspectj-users@eclipse.org
>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>
>>>
>>
>> _______________________________________________
>> aspectj-users mailing list
>> aspectj-users@eclipse.org
>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>
>>
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@eclipse.org
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
>
_______________________________________________
aspectj-users mailing list
aspectj-users@eclipse.org
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Reply via email to