You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by Tibor Digana <ti...@apache.org> on 2015/07/02 14:42:37 UTC

JAR/WAR file wasting memory if building with Maven

Is the content of JAR file stored in memory while building entire
multi-module project?
Is the stream still stored in the Heap all the time?
I remember this was an issue in Maven while performing deployment or
release.
I would expect the stream is GCed when child A POM is completed and
therefore child B would have enough memory to allocate own stream.

What are recommendations and configurations to save max of memory within
the build?

Re: JAR/WAR file wasting memory if building with Maven

Posted by Kristian Rosenvold <kr...@gmail.com>.
Note that the memory leak was fixed in 2.10.3 in
https://github.com/codehaus-plexus/plexus-archiver/issues/6 . Issues #5
which Igor mentioned may or may not be the same problem. (Btw 3.x has not
yet received this fix...)


K




2015-07-02 23:25 GMT+02:00 Igor Fedorenko <ig...@ifedorenko.com>:

> Maybe related
> https://github.com/codehaus-plexus/plexus-archiver/issues/5
>
> --
> Regards,
> Igor
>
> On Thu, Jul 2, 2015, at 05:11 PM, Jason van Zyl wrote:
> > As for how maven-archiver works exactly these days I’m not sure. Anything
> > I care about I have shifted over to using takari-archiver and it streams
> > directly to disk. But I don’t think maven-archiver spools into memory
> > unless Kristian’s recent changes do anything in memory for the faster
> > archive creation.
> >
> > As for memory use in Maven in general, a lot of it is consumed by the
> > models and projects themselves insofar as core Maven is concerned. Just
> > running a typical build through YourKit (I think we all get free
> > licenses) you can see where all the heavy consumers are in core. The
> > models, projects, artifacts and related caches are where the majority of
> > memory use goes. Some of these caches exist in Aether as well.
> >
> > > On Jul 2, 2015, at 8:42 AM, Tibor Digana <ti...@apache.org>
> wrote:
> > >
> > > Is the content of JAR file stored in memory while building entire
> > > multi-module project?
> > > Is the stream still stored in the Heap all the time?
> > > I remember this was an issue in Maven while performing deployment or
> > > release.
> > > I would expect the stream is GCed when child A POM is completed and
> > > therefore child B would have enough memory to allocate own stream.
> > >
> > > What are recommendations and configurations to save max of memory
> within
> > > the build?
> >
> > Thanks,
> >
> > Jason
> >
> > ----------------------------------------------------------
> > Jason van Zyl
> > Founder, Takari and Apache Maven
> > http://twitter.com/jvanzyl
> > http://twitter.com/takari_io
> > ---------------------------------------------------------
> >
> > First, the taking in of scattered particulars under one Idea,
> > so that everyone understands what is being talked about ... Second,
> > the separation of the Idea into parts, by dividing it at the joints,
> > as nature directs, not breaking any limb in half as a bad carver might.
> >
> >   -- Plato, Phaedrus (Notes on the Synthesis of Form by C. Alexander)
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> > For additional commands, e-mail: dev-help@maven.apache.org
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
>

Re: JAR/WAR file wasting memory if building with Maven

Posted by Igor Fedorenko <ig...@ifedorenko.com>.
Maybe related
https://github.com/codehaus-plexus/plexus-archiver/issues/5

-- 
Regards,
Igor

On Thu, Jul 2, 2015, at 05:11 PM, Jason van Zyl wrote:
> As for how maven-archiver works exactly these days I’m not sure. Anything
> I care about I have shifted over to using takari-archiver and it streams
> directly to disk. But I don’t think maven-archiver spools into memory
> unless Kristian’s recent changes do anything in memory for the faster
> archive creation.
> 
> As for memory use in Maven in general, a lot of it is consumed by the
> models and projects themselves insofar as core Maven is concerned. Just
> running a typical build through YourKit (I think we all get free
> licenses) you can see where all the heavy consumers are in core. The
> models, projects, artifacts and related caches are where the majority of
> memory use goes. Some of these caches exist in Aether as well.
> 
> > On Jul 2, 2015, at 8:42 AM, Tibor Digana <ti...@apache.org> wrote:
> > 
> > Is the content of JAR file stored in memory while building entire
> > multi-module project?
> > Is the stream still stored in the Heap all the time?
> > I remember this was an issue in Maven while performing deployment or
> > release.
> > I would expect the stream is GCed when child A POM is completed and
> > therefore child B would have enough memory to allocate own stream.
> > 
> > What are recommendations and configurations to save max of memory within
> > the build?
> 
> Thanks,
> 
> Jason
> 
> ----------------------------------------------------------
> Jason van Zyl
> Founder, Takari and Apache Maven
> http://twitter.com/jvanzyl
> http://twitter.com/takari_io
> ---------------------------------------------------------
> 
> First, the taking in of scattered particulars under one Idea,
> so that everyone understands what is being talked about ... Second,
> the separation of the Idea into parts, by dividing it at the joints,
> as nature directs, not breaking any limb in half as a bad carver might.
> 
>   -- Plato, Phaedrus (Notes on the Synthesis of Form by C. Alexander)
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: JAR/WAR file wasting memory if building with Maven

Posted by Jason van Zyl <ja...@takari.io>.
As for how maven-archiver works exactly these days I’m not sure. Anything I care about I have shifted over to using takari-archiver and it streams directly to disk. But I don’t think maven-archiver spools into memory unless Kristian’s recent changes do anything in memory for the faster archive creation.

As for memory use in Maven in general, a lot of it is consumed by the models and projects themselves insofar as core Maven is concerned. Just running a typical build through YourKit (I think we all get free licenses) you can see where all the heavy consumers are in core. The models, projects, artifacts and related caches are where the majority of memory use goes. Some of these caches exist in Aether as well.

> On Jul 2, 2015, at 8:42 AM, Tibor Digana <ti...@apache.org> wrote:
> 
> Is the content of JAR file stored in memory while building entire
> multi-module project?
> Is the stream still stored in the Heap all the time?
> I remember this was an issue in Maven while performing deployment or
> release.
> I would expect the stream is GCed when child A POM is completed and
> therefore child B would have enough memory to allocate own stream.
> 
> What are recommendations and configurations to save max of memory within
> the build?

Thanks,

Jason

----------------------------------------------------------
Jason van Zyl
Founder, Takari and Apache Maven
http://twitter.com/jvanzyl
http://twitter.com/takari_io
---------------------------------------------------------

First, the taking in of scattered particulars under one Idea,
so that everyone understands what is being talked about ... Second,
the separation of the Idea into parts, by dividing it at the joints,
as nature directs, not breaking any limb in half as a bad carver might.

  -- Plato, Phaedrus (Notes on the Synthesis of Form by C. Alexander)













---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org