United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6794422 Perm gen expansion policy for concurrent collectors
JDK-6794422 : Perm gen expansion policy for concurrent collectors

Details
Type:
Bug
Submit Date:
2009-01-15
Status:
Closed
Updated Date:
2011-04-23
Project Name:
JDK
Resolved Date:
2011-04-23
Component:
hotspot
OS:
generic
Sub-Component:
gc
CPU:
generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
hs14
Fixed Versions:
hs20 (b02)

Related Reports
Backport:
Backport:
Relates:

Sub Tasks

Description
As part of 6539517, some of the code relating to perm gen allocation
was reorganized and partially consolidated. However, an inadvertent
side-effect of that reorg was that CMS' perm gen allocation policy
which attempts to avoid full gc's hwen allocating in the perm gen
was lost. That functionality would need to be restored for the case
of low-pause collectors such as CMS and G1.

Meanwhile, a workaround is available, see workaround section.

                                    

Comments
EVALUATION

Yes.
                                     
2009-01-15
WORK AROUND

The bug arises because now concurrent gc configurations, like the stop-world ones,
are reluctant to expand the perm gen unless a stop-world collection has been
done. Therefore a workaround is to size the perm gen size to its maximum size,
thus making the expansion policy moot:-

-XX:PermSize=<n> -XX:MaxPermSize=<n>

n the max perm size configured.
                                     
2009-01-15
SUGGESTED FIX

Under review and testing:-

http://javaweb.sfbay.sun.com/~ysr/neeraja/export/ysr/perm_expand/webrev/
                                     
2010-09-21
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/e41cd7fd68a6
                                     
2010-10-02
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/e41cd7fd68a6
                                     
2010-10-09



Hardware and Software, Engineered to Work Together