系统进程和内存情况查看

一、Linux系统支持的最大进程数
 系统内核限制的最大进程数:/proc/sys/kernel/pid_max                                                                 #当系统进程数达到该数据后,涉及创建进程的指令将无法执行,如ps -ef、top
系统内核限制的最大线程数:/proc/sys/kernel/thread-max                                                             #当系统线程数大超过该数据后,创建线程时线程会创建失败
系统安全限制的最大线程数:在/etc/security/limits.conf中
单进程能支持的最大线程数:/usr/include/bits/local_lim.h中PTHREAD_KEYS_MAX                    #默认1024
登录用户限制的最大线程数:在/etc/security/limits.d/90-nproc.conf中配置,通过ulimit -u查看    

二、单进程最大线程数
    默认情况下,一个线程的栈要预留1M的内存空间,
而一个进程中可用的内存空间只有2G,所以理论上一个进程中最多可以开2048个线程
为了突破内存的限制,可以有两种方法
1) 用 ulimit -s 1024 减小默认的栈大小
2) 调用 pthread_create 的时候用 pthread_attr_getstacksize 设置一个较小的栈大小
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值