linux 进程数最大值修改方法

吾爱主题 阅读:176 2024-04-05 13:54:26 评论:0

实际的系统进程数上限收到3个配置项的影响:

1、threads-max (/proc/sys/kernel/threads_max)

这个值表示物理内存决定的系统进程数上限,fork_init中有:

?
1 max_threads = mempages / (THREAD_SIZE /PAGE_SIZE ) / 8

2、pid_max (/proc/sys/kernel/pid_max)

这个值表示进程ID的上限。为了兼容旧版,默认为32768(即两个字节)。

?
1 <code class= "hljs ruby has-numbering" style= "display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;" > echo <span class= "hljs-number" style= "color: rgb(0, 102, 102); box-sizing: border-box;" >4194303< /span > > <span class= "hljs-regexp" style= "color: rgb(0, 136, 0); box-sizing: border-box;" > /proc/sys < /span ><span class= "hljs-regexp" style= "color: rgb(0, 136, 0); box-sizing: border-box;" > /kernel/pid < /span >_max< /code >

3、RLIMIT_NPROC (ulimit -u 或者 getrlimit)

这个值表示单个用户允许的最大进程数上限。系统默认为threads-max的一半:

?
1 2 init_task.rlim[RLIMIT_NPROC].rlim_cur = max_threads /2 ; init_task.rlim[RLIMIT_NPROC].rlim_max = max_threads /2 ;

实验:

某环境上:

threads-max = 139264;

pid_max = 32768

RLIMIT_NPROC = 69632

1、此时,使用根用户不断创建进程,最终创建了约32378,考虑到原有的进程数,比较接近pid_max这个值;

2、改pid_max为18000时,最终创建了17612个进程;

3、修改pid_max为80000,换成普通用户,最终创建了67913个进程

总结

以上所述是小编给大家介绍的linux 进程数最大值修改方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:https://blog.csdn.net/beatle_1983/article/details/50435751

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容