[linux] Re: max aantal processen

Daniel C. von Asmuth asmuth op bakunin.xs4all.nl
Vr Jun 3 21:53:06 CEST 2005


On Fri, Jun 03, 2005 at 08:27:44PM +0200, J. Asenjo wrote:
> is er een limiet aan het aantal processen in de kernel?
> ik gebruik hier een 2.4.26, trouwens.

in /usr/include/linux/threads.h staat PID_MAX gedefinieerd, dus die
zou je moeten kunnen aanpassen alvorens je kernel te compliceren. In
/usr/src/linux/kernel/fork.c (kernel 2.4.21) vind je:

int nr_threads;
int nr_running;

int max_threads;

void __init fork_init(unsigned long mempages)
{
        /*
         * The default maximum number of threads is set to a safe
         * value: the thread structures can take up at most half
         * of memory.
         */
        max_threads = mempages / (THREAD_SIZE/PAGE_SIZE) / 8;

        init_task.rlim[RLIMIT_NPROC].rlim_cur = max_threads/2;
        init_task.rlim[RLIMIT_NPROC].rlim_max = max_threads/2;
}
.....
Verder op in do_fork() ziet het ernaar uit de entries voor de process
table dynamisch worden gealloceerd en wordt het aantal processen var
de gebruiker gecontroleerd (behalve voor root). Het maximum aantal
threads (processen) in het systeem lijkt dus bepaald door de hoeveelheid 
geheugen en na booten niet meer te veranderen -- PID_MAX is slechts het 
hoogste procesnummer. 

Zo beter?


Daniel



More information about the Linux mailing list