<html>
<head>
<meta content="text/html; charset=ISO-8859-15"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<br>
<br>
On 11/08/11 08:13, Andreas Loew wrote:
<blockquote cite="mid:4EB95546.5000006@oracle.com" type="cite">
<meta content="text/html; charset=ISO-8859-15"
http-equiv="Content-Type">
Hi Jon,<br>
<br>
many thanks for your reply :-)<br>
<br>
The behavior you mention indeed seems a little "unfortunate"...
;-)<br>
Will this change as part of the efforts to completely remove
PermGen (part of the "HotRockit" initiative) following the example
of JRockit?<br>
</blockquote>
<br>
It will be the case after perm gen removal that we will readily know
if<br>
classes have been unloaded so will be able to conditionally skip the
walk of<br>
the Dictionary for purposes of purging dead classes.<br>
<br>
Jon<br>
<blockquote cite="mid:4EB95546.5000006@oracle.com" type="cite"> <br>
Thanks again & best regards,<br>
<br>
Andreas<br>
<br>
-- <br>
Andreas Loew <br>
Senior Java Architect <br>
Oracle Advanced Customer Services Germany <br>
<br>
<br>
Am 08.11.2011 16:58, schrieb Jon Masamitsu:
<blockquote cite="mid:4EB951BB.3000600@oracle.com" type="cite">Andreas,
<br>
<br>
Hotspot maintains a list of classes that are loaded in the <br>
Dictionary (dictionary.hpp/cpp). This list does not keep <br>
classes alive. After marking (when we know what classes <br>
are dead), we walk the list and remove dead classes. <br>
Hotspot does not keep information that says classes have <br>
not been unloaded, so the list is always walked. <br>
<br>
Jon <br>
<br>
On 11/07/11 10:33, Andreas Loew wrote: <br>
<blockquote type="cite">Hi Jon, <br>
<br>
sorry, a follow-up question from my side: As it shouldn't be
the most normal thing even for a Java EE app to constantly
dereference classloaders or single classes that need to be
GC'ed: <br>
<br>
In how far does your statement about increased remark pauses
still apply in case the PermGen / set of loaded classes has
stayed completely constant between initial mark and remark
(which should be the usual case)? <br>
<br>
And wouldn't there a also be a distinction between PermGen and
Old Gen? <br>
<br>
Many thanks & best regards, <br>
<br>
Andreas <br>
<br>
-- <br>
Andreas Loew <br>
Senior Java Architect <br>
Oracle Advanced Customer Services Germany <br>
<br>
<br>
Am 07.11.2011 16:44, schrieb Jon Masamitsu: <br>
<blockquote type="cite">Doing class unloading with CMS will
often increase the remark pause times <br>
and so is not on by default. <br>
<br>
On 11/5/2011 3:29 PM, Martin Hare Robertson wrote: <br>
<blockquote type="cite">Hi, <br>
<br>
I recently encountered an interesting GC issue with a
Tomcat application. I <br>
came up with a simple repro scenario which I posted to
StackOverflow: <br>
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://stackoverflow.com/questions/8017193/when-does-the-perm-gen-get-collected">http://stackoverflow.com/questions/8017193/when-does-the-perm-gen-get-collected</a>
<br>
<br>
To solve this issue I have been encouraged to use <br>
-XX:+CMSClassUnloadingEnabled. <br>
I currently use the following GC configuration. <br>
<br>
-XX:+UseMembar <br>
-XX:+UseConcMarkSweepGC <br>
-XX:+UseParNewGC <br>
-XX:CMSInitiatingOccupancyFraction=80 <br>
-XX:+UseCMSInitiatingOccupancyOnly <br>
<br>
Is enabling CMSClassUnloadingEnabled likely to have a
negative perf impact? <br>
If not, why is it disabled by default? <br>
<br>
Thanks <br>
<br>
Martin <br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<!-- This signature was generated by the MyDesktop Oracle Business Signature utility version 3.8.6 -->
</blockquote>
</body>
</html>