linux最多可以有多少个进程

linux最多可以有多少个进程,第1张

以下是对在linux环境下一个进程最多能有多少个线程进行了介绍,需要的朋友可以过来参考下 默认情况下: 主线程+辅助线程 +<253个自己的线程<=255 含主线程和一个辅助线程,最多255个,即你自己只能生成253个线程。 据说可以设置线程数目: 据说是可以设置的,但本人还没有验证!不知道可否。 在你的shell中键入limit命令,里面有descriptor的数目,就是你的进程可以创建的最大线程数目。可以通过修改内核文件更改该数目。

32为linux系统最大内存地址4G,0-3GB的给用户进程(User Space)使用,3-4GB给内核使用

stack size (kbytes, -s) 10240表示线程堆栈大小

3G/10M=最大线程数,但实际会比这个数小一点,因为程序本身占内存,还有些管理线程

可以使用ulimit -s来设置stack size,设置的小一点开辟的线程就多。

同时/usr/include/bits/local_lim.h中的PTHREAD_THREADS_MAX限制了进程的最大线程数

/proc/sys/kernel/threads-max中限制了系统的最大线程数

你自己写个简单的代码就能测试出自己系统最大可以开多少线程

#include <unistd.h>

#include <stdlib.h>

#include <pthread.h>

#include <stdio.h>

void *foo(void *param)

{

}

int main()

{

int i = 0

pthread_t thread

while(1)

{

if(pthread_create(&thread,NULL,foo,NULL) != 0)

break

i++

}

printf("i=%d\n",i)

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7900868.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存