JB,

to my understanding this isn't a "known" bug/issue of Karaf/Equinox/Felix
but an issue of the JVM, unless one uses a JDK8 he won't be able to
cleanup the perm space as all class definitions are stored there. As JDK8
doesn't have a perm space anymore (actually
JDK7 should already be better on this) those Memory regions should be
cleaned when not used anymore.

regards, Achim


2013/6/28 Jean-Baptiste Onofré <[email protected]>

> AFAIR, the PermSize increase is a known issue: dev:restart creates a new
> classloader for each bundle, but the previous classloader is not unloaded
> by the JVM.
>
> Regards
> JB
>
>
> On 06/28/2013 09:05 AM, Achim Nierbeck wrote:
>
>> Hmm,
>>
>> if I'm not completely wrong a dev:restart keeps the JVM up and running.
>> So this isn't an issue of Karaf/Equinox/Felix or whatsoever it's an
>> issue of
>> the JVM itself that isn't capable of cleaning the Perm Space.
>> As the command already states this is a development command and is not
>> supposed to be used in Production!
>> You'll see the same behaviour with any container supporting hot
>> replacement.
>>
>> Regards, Achim
>>
>>
>> 2013/6/28 Raman Gupta <[email protected] <mailto:
>> [email protected]>**>
>>
>>
>>     JB, did you have a chance to take a look at this?
>>
>>     Do you want me to create an entry in Jira?
>>
>>     Regards,
>>     Raman
>>
>>
>>     On 01/31/2013 03:05 AM, Jean-Baptiste Onofré wrote:
>>      > Hi Raman,
>>      >
>>      > I tried with Felix, same behavior.
>>      >
>>      > Each dev:restart execution uses around 80% of additional Perm Gen:
>>      > - 23,724,976 -> 29,829,568 at first execution
>>      > - 29,829,568 -> 35,809,616 at second execution
>>      > ...
>>      >
>>      > I gonna take a look in dev:restart command.
>>      >
>>      > Regards
>>      > JB
>>      >
>>      > On 01/31/2013 08:16 AM, Jean-Baptiste Onofré wrote:
>>      >> Hi Raman,
>>      >>
>>      >> Users mentioned that with Equinox as well.
>>      >>
>>      >> I didn't try with Felix (I will). Not sure we can do something in
>>      >> Karaf,
>>      >> I will take a look.
>>      >>
>>      >> Regards
>>      >> JB
>>      >>
>>      >> On 01/31/2013 01:42 AM, Raman Gupta wrote:
>>      >>> If using dev:restart with Karaf 2.2.9 with Equinox, the size of
>> the
>>      >>> permanent
>>      >>> generation increases drastically:
>>      >>>
>>      >>> Permanent generation on initial start:
>>      >>>
>>      >>> $ jmap -heap 27384
>>      >>> [...]
>>      >>> PS Perm Generation
>>      >>>     used     = 50648144 (48.30183410644531MB)
>>      >>>
>>      >>> After dev:restart, perm gen size is about 75% bigger:
>>      >>>
>>      >>> $ jmap -heap 27384
>>      >>> [...]
>>      >>> PS Perm Generation
>>      >>>     used     = 88594176 (84.489990234375MB)
>>      >>>
>>      >>> I haven't tried this with Felix, but is this a perm gen leak, or
>> an
>>      >>> unavoidable consequence of the mechanism dev:restart uses?
>>      >>>
>>      >>> Regards,
>>      >>> Raman Gupta
>>      >>> http://vivosys.com
>>      >>>
>>      >>>
>>      >>>
>>      >>>
>>      >>> --
>>      >>> View this message in context:
>>      >>>
>>     http://karaf.922171.n3.nabble.**com/dev-restart-and-permanent-**
>> generation-leak-tp4027545.html<http://karaf.922171.n3.nabble.com/dev-restart-and-permanent-generation-leak-tp4027545.html>
>>      >>>
>>      >>>
>>      >>> Sent from the Karaf - User mailing list archive at Nabble.com.
>>      >>>
>>      >>
>>      >
>>
>>
>>
>>
>> --
>>
>> Apache Karaf <http://karaf.apache.org/> Committer & PMC
>> OPS4J Pax Web 
>> <http://wiki.ops4j.org/**display/paxweb/Pax+Web/<http://wiki.ops4j.org/display/paxweb/Pax+Web/>>
>> Committer
>> & Project Lead
>> OPS4J Pax for Vaadin 
>> <http://team.ops4j.org/wiki/**display/PAXVAADIN/Home<http://team.ops4j.org/wiki/display/PAXVAADIN/Home>
>> >
>> Commiter & Project Lead
>> blog <http://notizblog.nierbeck.de/**>
>>
>
> --
> Jean-Baptiste Onofré
> [email protected]
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>



-- 

Apache Karaf <http://karaf.apache.org/> Committer & PMC
OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer &
Project Lead
OPS4J Pax for Vaadin <http://team.ops4j.org/wiki/display/PAXVAADIN/Home>
Commiter & Project Lead
blog <http://notizblog.nierbeck.de/>

Reply via email to