On Tue, June 9, 2015 10:56 am, Kurt Miller wrote:
> On Mon, 2015-06-08 at 19:24 -0400, trondd wrote:
>> On 2015-06-08 10:47, Kurt Miller wrote:
>> >
>> > Thanks Tim for the testing and research into this issue. I'll take a
>> > look later at reducing the default CompressedClassSpaceSize. What
>> > ulimits were you running with?
>> >
>> > -Kurt
>>
>> There is an extra layer, I've just realized.  I'm running java in chroot
>> and had just upgraded my snapshot so now chroot is aware of user login
>> classes.  So at this point, I think that means it's using the default
>> class.  I believe the only change I have made there is:
>> :datasize-max=2G:\
>> :datasize-cur=1536M:\
>>
>> I don't increase the limit from -cur.
>
> Ok thanks again. I've looked into this a bit and found this nice
> description of the 1.7 -> 1.8 changes that eliminated the permanent
> generation in 1.7 and replaced it with metaspace plus compressed class
> space in 1.8:
>
> http://java-latte.blogspot.in/2014/03/metaspace-in-java-8.html
>
> Currently the compressed class space is fixed size like perm gen was.
> Oracle set a large default of 1G but only uses it in chunks as needed by
> java applications.
>
> I can reduce the default in our port, but it may come as a surprise that
> our default is smaller and cause the need for increasing it at startup
> for vary large applications. Alternatively, I can keep the large default
> but it would require a large datasize ulimit (2G may be enough) for 1.8.
>
> For users who want to run with smaller datasize ulimits they have the
> two options you noted:
>
> 1) Disable compressed class pointers via:
>    -XX:+UseCompressedClassPointers
>
> 2) Reduce the size of the compressed class space via:
>    -XX:CompressedClassSpaceSize=256M
>
> I haven't decided which approach is better for us. Requiring a 2G
> datasize ulimit to run does seem excessive. Thoughts?
>
> -Kurt
>

Someone else might have a better idea of what other ports have done but
based on Firefox and newer KDE stuff it seems the precedent is to leave
the port at the defaults and let it fail.  And add a note in pkg-readme
with the options  available.  I'd list the Java options and the ulimit
setting and let the person decide how they want to solve it.  Then the
mailing list can field the complaints of Java apps not starting until the
end of time because people don't know about pkg-readmes. :)

Tim.


Reply via email to