评论

收藏

[C++] c++线程数量的限制

编程语言 编程语言 发布于:2021-07-22 11:13 | 阅读数:277 | 评论:0

C++线程数量的限制
  • 限制
  • 修改限制
限制线程的数量取决于线程栈空间的大小(可以使用ulimit -s查看栈空间大小)
132位Linux下(可以使用getconf LONG_BIT查看当前CPU运行在多少位的模式下),用户空间是3G,因此可创建的线程数量为3G/stack_size,但是理论上除了栈空间每个线程还有线程控制块的开销,所以实际值会小一些
修改限制·使用ulimit -s 新栈空间大小修改默认栈空间大小
1.可以在/etc/rc.local 内 加入 ulimit -s 新栈空间大小 则可以开机就设置栈空间大小
·通过/etc/security/limits.conf 改变栈空间大小: # #添加下列行 * soft stack 新栈空间大小 重新登录,执行ulimit -s 即可看到改为新栈空间大小
ulimit命令只对当前终端生效。如果需要永久生效:1)将命令写至profile和bashrc中,相当于在登录时自动动态修改限制;2)在/etc/security/limits.conf中添加记录(需重启生效,并且在/etc/pam.d中的session有使用到limit模块)
linux下进程的最大线程数、进程最大数、进程打开的文件数
linux查看修改线程默认栈空间大小



关注下面的标签,发现更多相似文章