这篇文章给大家介绍怎么在linux中修改进程数的最大值,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
1、threads-max (/proc/sys/kernel/threads_max)
这个值表示物理内存决定的系统进程数上限,fork_init中有:
max_threads = mempages / (THREAD_SIZE/PAGE_SIZE) / 8
2、pid_max (/proc/sys/kernel/pid_max)
这个值表示进程ID的上限。为了兼容旧版,默认为32768(即两个字节)。
<code class="hljs ruby has-numbering" >echo <span class="hljs-number" >4194303</span> > <span class="hljs-regexp" >/proc/sys</span><span class="hljs-regexp" >/kernel/pid</span>_max</code>
3、RLIMIT_NPROC (ulimit -u 或者 getrlimit)
这个值表示单个用户允许的最大进程数上限。系统默认为threads-max的一半:
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是一种免费使用和自由传播的类UNIX操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统,使用Linux能运行主要的Unix工具软件、应用程序和网络协议。
关于怎么在linux中修改进程数的最大值就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。