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/>
