robert@sri-spam.istc.sri.com (Robert Allen) (04/07/88)
I've been doing some software IPC experimentation on an HP 9000 which requires that I be able to start up about 1 Server process and about 30 Client processes. Currently I seem to only be able to start up about 22 Client processes before getting an error message from the system saying "no more processes". Has anyone encountered this problem, and if so did you find some way of raising the limit? I've been running as a simple user; I assume that root can make as many processes as it wants? By the way, it takes 15 seconds on our HP 9000 for the error message to come back saying "no more processes". Anyone have any idea why it takes so long? It seems to be doing something complex, since INTR'ing the client spawning process causes the bufferred error message to show up before the 15 seconds is up. Any help, particularly with the first problem, will be much appreciated. Thanks, Robert Allen, robert@spam.istc.sri.com 415-859-2143 (work phone, days) -- ---------------------------------------------------------------- Robert Allen, robert@spam.istc.sri.com "Pay back time!" 415-859-2143 (work phone, days) ----------------------------------------------------------------
ckw@hpcupt1.HP.COM (Chick Webb) (04/08/88)
> I've been doing some software IPC experimentation on an HP 9000 which > requires that I be able to start up about 1 Server process and about > 30 Client processes. Currently I seem to only be able to start up about > 22 Client processes before getting an error message from the system > saying "no more processes". Has anyone encountered this problem, and > if so did you find some way of raising the limit? I've been running as > a simple user; I assume that root can make as many processes as it wants? You don't mention what kind of 9000 you're running, so I'll try to address all three boxes. S500 ---- On this machine there is a parameter, max_proc_per_user, which defines the maximum number of processes any single user can have running. It can be changed using the uconfig(1m) command. S800 ---- There's a kernel parameter, nproc, that specifies the number of processes (regardless of owner) that may concurrently exist. The defuault is set to 20+(8*MAXUSERS), and is specified in the kernel configuration file (usually /etc/conf/gen/S800). Changing this parameter involves modifying the configuration file, and regenerating the kernel. (Alternatively, you can use adb, but this is more difficult.) S300 ---- The S300 also defines nproc as the number of processes that may concurrently exist. It is defined in /etc/conf/dfile (usually). In this case as well, the kernel needs to be re-built with the modified value. >Robert Allen, robert@spam.istc.sri.com "Pay back time!" >415-859-2143 (work phone, days) ------ Hope this helps! Chick Webb "I am sitting in the smallest room of Hewlett-Packard Company the house. I have your letter in front Cupertino, CA of me. It will soon be behind me." UUCP: {ucbvax, etc.}!hpda!ckw ARPA: ckw@hpda.HP.COM - A letter of relpy, by Voltaire
pdg@hpcupt1.HP.COM (Paul Gootherts) (04/08/88)
> > I've been doing some software IPC experimentation on an HP 9000 which > > requires that I be able to start up about 1 Server process and about > > 30 Client processes. Currently I seem to only be able to start up about > > 22 Client processes before getting an error message from the system > > saying "no more processes". Has anyone encountered this problem, and > > if so did you find some way of raising the limit? I've been running as > > a simple user; I assume that root can make as many processes as it wants? > S800 > ---- > There's a kernel parameter, nproc, that specifies the number of > processes (regardless of owner) that may concurrently exist. The > defuault is set to 20+(8*MAXUSERS), and is specified in the kernel > configuration file (usually /etc/conf/gen/S800). Changing this > parameter involves modifying the configuration file, and regenerating > the kernel. (Alternatively, you can use adb, but this is more > difficult.) If you have an s300 or s800 I believe there are two ways to get a message like this: (1) Your process table is full. I don't think this is your problem (see (2) below). Increasing the kernel parameter nproc is one way to fix this. !!! WARNING !!! DO NOT use adb to do this! The process table is allocated at boot-time, and it's size cannot be increased after that. Using adb to increase nproc in a running kernel will almost certainly cause a system panic, and increasing it in the /hp-ux file is unsupported. If you want to increase nproc you should use the supported tools (for example, uxgen on s800's). (2) Your per-user limit has been reached. I think this is what you are seeing since you started having trouble around 22 and the default limit is 26. (This limit applies to all users *except* the superuser.) If this is your problem, you are in luck. There is a kernel parameter called maxuprc which controls the limit. It is normally set to 25, which allows each user a max of *26* processes. This parameter can also be changed using the supported tools (again, uxgen on s800's...). - Paul Gootherts pdg@hpda Hewlett-Packard Co.
shankar@hpclscu.HP.COM (Shankar Unni) (04/08/88)
1. If you have the "/etc/conf" directory (and the contents therein), simply go in there (as root) and edit the file "dfile". There are several copies lying around there, for various sample configurations. If you are not sure which one to pick up, use "dfile.full.lan". Look for the line saying "maxuprc". If it is present, bump up the number against it according to taste. if not, add it at the bottom, and use some reasonably large number, say, 64. * maxuprc 64 2. Execute "make -f config.mk". This will produce a kernel in "hp-ux". 3. Save the old kernel in /SYSBCKUP, and copy the new kernel into /hp-ux. 4. Reboot. HINT: save the dfile that you modified as "dfile.<yourhostname>". It is a handy reminder as to which file to modify the *next* time you need to reconfigure your kernel. If you don't have the contents of the /etc/conf directory, or something goes wrong in steps 1 - 2, stop and call the nearest HP office for advice. P.S. I'm assuming that you have a Series 3x0 machine. --scu
stroyan@hpfcdc.HP.COM (Mike Stroyan) (04/08/88)
The total number of processes allowed and the number of processes allowed per user are configurable kernel parameters. Consult your "System Administrator Manual", in the "Kernel Customization" chapter and "Operating System Parameters" appendix. The parameters in question are "nproc" and "maxuprc" for the series 300 6.0 release. The details may vary for different series and different releases. Mike Stroyan, [hplabs!]hpfcla!stroyan
rjn@hpfcmp.HP.COM (Bob Niland) (04/10/88)
re: "If you have the "/etc/conf" directory (and the contents therein), simply go in there (as root) and edit the file "dfile"." I just did this on two 300 6.0 systems, and maxuprc was in /etc/master.