源代码中: 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; 在i386上是4096
到底是512,还是4096
>>> 此贴的回复 >> 现在的内核好像没有这个限制了,《linux内核设计与实现》上说为了与老版本的unix和linux兼容,pid的最大值默认是32767(short int的最大值),如果你需要的话还可以不考虑和老版本兼容,修改/proc/sys/kernel/pid_max来提高上限。
>>> 此贴的回复 >> 在LINUX 0.11中支持64个
>>> 此贴的回复 >> 每个进程都要在全局段描述表GDT中占据两个表项,段寄存器中用作GDT表下标的位段宽度是13位,所以GDT中可以有8192个描述项,除一些系统开销以外,还有8180个表项可以使用,所以系统中理论上最大的进程数是4090
>>> 此贴的回复 >> 64个 见《Linux内核设计与实现》陈莉君等译
>>> 此贴的回复 >> Linux允许的最大进程数可以通过 ulimit -u来查看
>>> 此贴的回复 >> 高版本的LINUX内核对进程的限制如楼上所说,从理论上说只会受到整形变量表示的域的限制,实际上会受到内存的限制
>>> 此贴的回复 >> 看你的RAM 和SWAP的大小