NPROC / MAXUPRC
NPROC / MAXUPRC
- Subject: NPROC / MAXUPRC
- From: Cameron Knowlton <email@hidden>
- Date: Fri, 21 Feb 2003 12:22:34 -0700
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.