I have run into process limits on Mac OS X 10.4.2 and
looked into changing various values, but I am unclear about their
relationships, absolute limitations and semantics.
1) kern.maxproc, kern.maxprocperuid
These were initially set to very low values of 532 and 100. I changed
them, apparently successfully in the following way.
administrator$ sudo sysctl -w kern.maxproc=2068
kern.maxproc: 2065 -> 2068
administrator$ sudo sysctl -w kern.maxprocperuid=2068
kern.maxprocperuid: 2000 -> 2068
administrator$ sysctl -a | grep maxproc
kern.maxproc = 2068
kern.maxprocperuid = 2068
Question 1: attempts to set them to values higher than 2068 resulted in
rejection. Is this the absolute high limit and can it be changed?
2) Limit maxproc
Limit command revealed that its “maxproc” is still set to
100:
administ% limit
cputime unlimited
filesize unlimited
datasize 6144 kbytes
stacksize 8192 kbytes
coredumpsize 0 kbytes
memoryuse unlimited
descriptors 256
memorylocked unlimited
maxproc 100
Trying to set maxproc to unlimited using “limit” set it
also to 2068!
Question 2: how is it related to sysctl limits? Is the one displayed by
“limit” hard or soft one?
Question 3: on this list it was implied that if you change limits by
“limit” command they will only be valid for that same shell tree
where it was done, not systemwide. Is that really so?
Question 4: if it’s too hard to answer the above questions
without looking at the source, where could I get that source?
Thanks in advance,
ys