Hi, I've taken a look at m2 and gotten rid of the only memory leak that is of our own doing.
Compilation and tests tend to leak during the reactor. If anyone knows of a way to forceably dispose of a classloader and everything allocated under it - that'd be great. I'm guessing we can fix test leaks (though its something an individual project needs to worry about), but compilation leaks will require either forking, or using eclipse or something which behveas better than javac. We should add the ability to optionally fork on everything, or once for all tests and once for compilation to safeguard against leaks. This can be an option for people suffering it in a long running process or massive reactor (eg continuum). Another option for continuum is to fork m2 instances that can act as servers for build requests. This was something Hiram suggested. Anyway, I think we're ok for now. The majority of plexus builds on my machine using 18M of memory in a minute and a half (including some rather slow tests). - Brett