RFR: JDK-8010767: Build fails on OEL6 with 16 cores
tim.bell at oracle.com
Thu Mar 13 16:20:23 UTC 2014
> When building on large machines, the default Hotspot ergonomics are
> causing us trouble. Trying to spawn 30 or more jvm instances just does
> not work with default options. To tackle this, I've split the
> JAVA_FLAGS variable into one common JAVA_FLAGS and two separate
> JAVA_FLAGS_BIG and JAVA_FLAGS_SMALL. Big contains the memory settings
> that used to be in JAVA_FLAGS. Small sets SerialGC and a smaller heap.
> Small is then used for most of our smaller jvm instances in the build.
> (Building demos, tools and most notably when running native2ascii in
> images to generate _ja man pages).
> On the particular machine this was last reported on (32 virtual cpus,
> 256GB memory), the default setting of JOBS=16 (which is the current
> max automatic setting) would fail in native2ascii. With these changes
> I'm able to run the build with at least JOBS=100. There is currently
> no performance improvement going from 16 to 100 jobs, but it's good to
> know we no longer have issues with resources when scaling up.
> Bug: https://bugs.openjdk.java.net/browse/JDK-8010767
Thank you, Erik - this looks great and is a much better solution than my
prototype. Thanks for taking this over. Approved.
More information about the build-dev