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.
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:-
n the max perm size configured.
Under review and testing:-