RFR: JDK-8010767: Build fails on OEL6 with 16 cores
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Fri Mar 14 10:44:54 UTC 2014
On 2014-03-13 17:08, Erik Joelsson wrote:
> 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
However the variable BOOT_JDK_JVMARGS is not used anywhere any longer,
so I'd appreciate if you could remove it completely.
Also, you're outputting this:
AC_MSG_CHECKING([flags for boot jdk java command for big configurations] )
It's great that you provide user feedback! However, we use the word
"configuration" for a very specific meaning and I think it's better to
rephrase this, maybe something like:
AC_MSG_CHECKING([flags for java command for big workloads])
(also note the absence of space before the end paranthesis). And
correspondingly for small.
More information about the build-dev