Skip to main content

[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


Back to the top