How can we decide what value to give to max user processes in Linux?

How can we decide what value to give to  max user processes in Linux.

For example , in our Linux server we have currently  5000 max user processes defined.
And we faced problem because the value was not sufficient.  I dont know on what
Basis we should arrive at any particular figure,  is it based on the number of
Users in the company ? or any other criteria.

(Our Linux version is Red hat Linux 4 update 5 and kernel version is 2.6.9-78.0.13.ELsmp)
We use Oracle E-Business Suite R12 and we have 200 users working on it everyday.
Who is Participating?
ai_ja_naiConnect With a Mentor Commented:
you d' better make a script and add it to init, instead of .bashrc (that will work out only on root's login)

beside that, max processes number of a machine can be decided by a proportion: on average how many processes there are on this machine? how much is the average load? and the maximum daily load? with this data at hand do

(avg load+10%):(current max processes)=(100%):(theoretical max processes)

this is just an extimation, but it can be a good starting point
Christopher MartinezCommented:
Well for the 2.6 kernal and on a fairly strong machine i always put it to unlimited. (. Edit the .bashrc file vi /root/.bashrc and add the following line: ulimit -u unlimited)
That is a option however depending on users connected and what they are doing you can reduce that value.
AymanDasaAuthor Commented:

Thats Ok. But I want to know for a 200 user server , what is the number of max processes would be ideal .
Cloud Class® Course: Amazon Web Services - Basic

Are you thinking about creating an Amazon Web Services account for your business? Not sure where to start? In this course you’ll get an overview of the history of AWS and take a tour of their user interface.

As already said, it depends on the average load of your machine... if 1 user fills alone 100% of cpu, 1 is enough :) If 2 million users use 0% cpu because all of them sleep while at work, you can set it to unlimited. My advice is to make the proportion as shown before
is there any reason to limut process in the kernel ??

accroding to kernel doc , linux kernel can handle:
* Maximum number of threads: 32000
    * Maximum number of threaded processes: 32000
    * Maximum number of processes: 32000

ref :

so according to you, you need more then 5000 , so if so just add those to maximum

i am not good in scripting, but there should be a some script to check how much process is running on busy time in your office,
get that number and use set that process number by ulimit command as said before

like bellow line will show you how many process is runing in the pc, but there could be other options you can add with this command

ps ax | wc -l | tr -d " "

Christopher MartinezCommented:
honestly it depends on what these users do. For example for a college lab i setup using 2.6 i set the max to 40. Honestly they dont need much more then that and i set the warning to 30. However in your situation it may be different. Are these developers? Multi-taskers? Are there alot of programs that need to be kept running in resident memory? If thats the case increase it....but i think 50 is a safe place to start. And if there are problems up it a bit. You dont want to make it too high for security reasons and for stability sake. Keep in mind though that if you keep the value low you can always specify the cap for certain users to be higher/lower then the default. I hope this helps, other then that i would use the formula provided by Ai Ja Nai as a good starting ground.

just curious,from which document you got this theory
(avg load+10%):(current max processes)=(100%):(theoretical max processes)


can i have that one for future references ??

any book or any website
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.