RFR: JDK-8144312: Remove limitations on the default number of jobs in the build

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Fri Dec 11 13:16:25 UTC 2015


On 2015-12-03 03:11, Roger Riggs wrote:
> Hi,
>
> It would be useful to figure out the number of cpus available when in 
> a container.
> Some comments have added to:
> 8140793 <https://bugs.openjdk.java.net/browse/JDK-8140793> 
> getAvailableProcessors may incorrectly report the number of cpus in 
> Docker container
>
> But so far we haven't dug deep enough.   Suggestions are welcome?
http://serverfault.com/questions/691659/count-number-of-allowed-cpus-in-a-docker-container 
suggests running nproc. I'm not sure if that can be counted on to be 
present, but we could certainly check for it.

/Magnus

>
> Roger
>
>
> On 12/2/15 6:59 PM, Martin Buchholz wrote:
>> Not to say you shouldn't do this, but I worry that increasingly 
>> computing
>> is being done in "containers" where e.g. the number of cpus is doubling
>> every year but only a small number are available to actually be used 
>> by a
>> given process.  if availableProcessors reports 1 million, what should we
>> do?  (no need to answer...)
>>
>> On Tue, Dec 1, 2015 at 1:55 AM, Erik Joelsson <erik.joelsson at oracle.com>
>> wrote:
>>
>>> Hello,
>>>
>>> The current heuristic for figuring out what to default set the -j 
>>> flag to
>>> make needs some tweaking.
>>>
>>> In JDK 9, it looks at the amount of memory and the number of cpus in 
>>> the
>>> system. It divides memory by 1024 to get a safe number of jobs that 
>>> will
>>> fit into memory. The lower of that number and the number of cpus is 
>>> then
>>> picked. The number is then scaled down to about 90% of the number of 
>>> cpus
>>> to leave some resources for other activities. It is also capped at 16.
>>>
>>> Since we now have the build using "nice" to make sure the build isn't
>>> bogging down the system, I see no reason to do the 90% scaling anymore.
>>> Also, the performance issues that forced us to cap at 16 have long been
>>> fixed, and even if we don't scale well beyond 16, we do still scale. 
>>> So I
>>> propose we remove that arbitrary limitation too.
>>>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8144312
>>> Webrev: http://cr.openjdk.java.net/~erikj/8144312/webrev.01/
>>>
>>> /Erik
>>>
>




More information about the build-dev mailing list