[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
{Spam?} Re: [aspectj-users] AJDT memory usage
|
Hi,
Unfortunately, I can't mail the heap dump. It is way to big (1.6G) and
contains information I cannot share. However, all the memory consumption is in
the same area: the world. This is what the AjState contains for the largest
project:
AjState: 340M
AjState.world: 220M (excluding model)
AjState.world.typeMap: 220M
AjState.world.typeMap.tMap: 220M (5040 items)
AjState.structureModel: 90M (not clear where this memory is going)
The dominating objects are Strings (almost 3,500,000 instances, for all
projects). Is seems most of this is part of the types in tMap (for example,
1,458,577 ConstantUtf8 instances, for all projects).
I tried adding -Xset:typeDemotion=true, but that doesn't help (I thought that
option was enabled by default since 1.6.7). I also disabled the spring-aspect
library, reducing the number of aspects to 1, which only contains declare
error statements. The memory usage stayed about the same.
I hope this helps. If you need more information, please let me know.
Best regards,
Emond Papegaaij
On Tuesday 13 July 2010 19:14:37 Andy Clement wrote:
> Hi,
>
> I've been exploring some memory shrinking options under
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=278496 for the last few
> releases (specifically reducing memory used under AJDT). If you are
> able to share heap dumps with me, I'll revisit that work and make some
> appropriate changes. Would that be possible? You can email the heap
> dumps to me rather than attaching them to bugzilla. I would like to
> confirm precisely where the memory is being used to ensure the
> techniques I'm looking at under 278496 will help.
>
> Andy
>
> On 13 July 2010 02:53, Emond Papegaaij <emond.papegaaij@xxxxxxxxxx> wrote:
> > Hi,
> >
> > We are thinking about introducing AspectJ into our project, so we started
> > by switching from the Java compiler to the AspectJ Builder to make sure
> > it is at least capable of building the project. It turns out the AspectJ
> > Builder is able to build the project, but its memory usage is way to
> > high to be usable. After a full rebuild, eclipse uses almost 1.2GB, even
> > after a full GC.
> >
> > Inspection of a heap dump shows this memory is all taken by 42 AjState
> > (and referenced) objects (one for each AspectJ project in my workspace).
> > One even takes over 350M. Most of the memory usage seems to be in the
> > AspectJ world.
> >
> > This is on a project with just over 600k lines of Java code, 1 aspect
> > (with a few declare error statements, no advice) and the spring-aspects,
> > mostly for the @Transactional aspect. This project contains 42 modules,
> > all projects in Eclipse. I'm using Eclipse 3.5.2 with the latest AJDT
> > development build (2.1.1.e35x-20100712-1300) with AspectJ
> > 1.6.10.20100712130000.
> >
> > Is there any way we can reduce this memory usage? I tried disabling
> > incremental building and disabling the weaving service, but that didn't
> > help.
> >
> > Best regards,
> > Emond Papegaaij
> > _______________________________________________
> > aspectj-users mailing list
> > aspectj-users@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users