Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

How many jobs does make use by default when you don't pass it the -j flag?

share|improve this question
add comment

1 Answer 1

up vote 6 down vote accepted

Seems to me that it is definitely 1, if by default you mean, without the -j switch. Evidently (from the man page):

If the -j option is given without an argument, make will not limit the number of jobs that can run simultaneously.

I've always specified a number and so have not noticed this. But with no switch, by empirical observation, it's one.

"Unlimited" would be a questionable value to use as a plain default, I think.

share|improve this answer
    
You are right, unlimited was a brainfart as it's clearly not that. And yes I meant without -j specified. –  trideceth12 Feb 26 '13 at 16:46
    
Unlimited would totally make sense… if only the system was good enough to schedule tasks taking memory consumption into account (unfortunately, unixes does not require processes to provide memory consumption estimates or other resource-consumption-related guaranties). –  Stéphane Gimenez Feb 26 '13 at 16:52
    
I seem to remember the "unlimited" is really "number of CPUs", but might be totally off track. –  vonbrand Feb 26 '13 at 16:59
    
@StéphaneGimenez : I can't recall hearing of an OS that does what you are talking about, but I'd be glad to be enlightened. "Requiring processes to provide memory consumption estimates" sounds like a profoundly bad idea to me, as it is simply an impossible metric to produce in a very high percentage of cases. Half your processes are going to have to report BS or random numbers, making whatever bases its operation on that prone to some kind of grotesque dysfunction...or else I'm wrong, lol. –  goldilocks Feb 26 '13 at 17:10
    
None that I know of. But many processes could compute in a couple of cylcles how much memory they need according to the size of their input(s). If they were able to tell the system (simplified example: they might malloc() everything they need and claim explicitely that they now drop their privilege to malloc()), the system could then use better scheduling. –  Stéphane Gimenez Feb 26 '13 at 17:24
show 2 more comments

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.