Re: NPROC / MAXUPRC
Re: NPROC / MAXUPRC
- Subject: Re: NPROC / MAXUPRC
- From: Brian Tabone <email@hidden>
- Date: Fri, 21 Feb 2003 18:06:56 -0600
You can set the maximum number of processes on OS X by using sysctl
For example
sudo sysctl -w kern.maxproc=1000
Do a man on sysctl for more info.
As for Max number of proc by user, I'm not sure how that would be done
under OS X.
Hope that helps,
Brian Tabone
On Friday, February 21, 2003, at 01:22 PM, Cameron Knowlton wrote:
Can anyone tell me how I'd change the NPROC and/or the MAXUPRC kernel
parameters under OS X?
I'm running out of processes, apparently. I am running a lot of
statistical applications on the system, of course they'll run out of
resources eventually.
I was hoping to get further than I have, though.
The story so far... ideas?
thanks in advance, gurus.
Cameron Knowlton
email@hidden
=================
This is usually one of two things. There is a tunable kernel
parameter, NPROC, which determines the maximum number of processes
that may be running at any time. You may have exceeded this limit. The
usual method of solving this is to increase it a fair bit and see if
the problem goes away. If you are running on OSR5, this is unlikely to
be the reason, as NPROC is allocated dynamically.
There is another tunable kernel parameter, MAXUPRC, which determines
the maximum number of processes any one user may have running at one
time. Under Unix, for example, a large number of mail messages being
processed at once may cause this to be exceeded by MMDF, usually
resulting in "uux failure - pipe broke" or similar messages. Once
again, increase it and see if the problem goes away.
Also, have a look at the console and/or /usr/adm/messages for any
system messages which appeared at the same time the user got this
message. They may point to another potential reason, such as being out
of swap space or exceeding NREGION (see the previous topic).
------
I didn't even know those were available - sysctl -a doesn't list 'em -
if it did, it could set them.
On my OS X:
bash-2.05a$ sysctl -a | grep -i proc
kern.maxproc = 532
On a Free BSD system:
bash-2.05a$ sysctl -a | grep -i proc
kern.maxproc: 8212
kern.maxfilesperproc: 16424
kern.maxprocperuid: 8211
kern.ps_showallprocs: 1
kern.shutdown.kproc_shutdown_wait: 60
vm.max_proc_mmap: 43690
PROC: 416, 0, 268, 173, 182379
debug.sizeof.proc: 412
jail.limits.rlimit_nproc.hard: 8211
jail.limits.rlimit_nproc.current: 17
Tony Lawrence
------
Well, NPROC is defined in xnu/bsd/conf/param.c in the darwin sources
as (20 + 16 * MAXUSERS), but I'm not sure where MAXUSERS comes from.
NPROC is a compile-time parameter so to change it you'd have to build
your own kernel. That's possible, but not for the feint of heart, and
you'd run into maintenance headaches like crazy. It's probably a
better strategy to figure out a way to have fewer processes running on
your system at once. It's a sure bet that they're not all actually
running at once (otherwise your system would be unusable), so perhaps
you can structure things so that unused processes are terminated until
they're needed.
It's a pretty unusual problem. I've never heard of it before. Let me
know if you find a solution.
Cheers,
Brent
------
--
thanks 8^)
Cameron Knowlton
email@hidden
_______________________________________________
darwin-kernel mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/darwin-kernel
Do not post admin requests to the list. They will be ignored.
_______________________________________________
darwin-kernel mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/darwin-kernel
Do not post admin requests to the list. They will be ignored.