`

Linux系统进程数上限

阅读更多

 

 

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

1、threads-max

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

max_threads = mempages / (THREAD_SIZE/PAGE_SIZE) / 8

 

2、pid_max

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

 

3、RLIMIT_NPROC

这个值表示单个用户允许的最大进程数上限。系统默认为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个进程

 

 

感谢:

http://blog.csdn.net/tianyue168/archive/2009/09/11/4539742.aspx

 

分享到:
评论

相关推荐

    linux 进程数最大值修改方法

    实际的系统进程数上限收到3个配置项的影响: 1、threads-max (/proc/sys/kernel/threads_max) 这个值表示物理内存决定的系统进程数上限,fork_init中有: max_threads = mempages / (THREAD_SIZE/PAGE_SIZE) / 8 2...

    Linux线程(进程)数限制分析

    1.问题来源  公司线上环境出现MQ不能接受消息的异常,运维和开发人员临时切换另一台服务器的MQ后恢复。同时运维人员反馈在出现...  task_struct是内核对进程的管理单位,通过slub(slab的升级版,如果你对slub不了解

    如何测试Linux下tcp最大连接数限制详解

    并发连接数受限于linux可打开文件数,这个数是可以配置的,可以非常大,所以实际上受限于系统性能。 现在做服务器开发不加上高并发根本没脸出门,所以为了以后吹水被别人怼“天天提高并发,你自己实现的最高并发是...

    Linux 进程控制与进程通信1

    (1)Fork的返回值有多种,其用法如下Pid=fork() (5)fork出错可能有两种原因:(1)当前的进程数已经达到了系统规定的上限,这时errno的值被

    ulimit命令 控制shell程序的资源

    Linux对于每个用户,系统限制其最大进程数。为提高性能,可以根据设备资源情况,设置各linux用户的最大进程数,我们可以用ulimit来显示当前的各种用户进程限制。 ulimit为shell内建命令,可用来控制shell执行程序的...

    Linux下高并发socket最大连接数所受的各种限制

    在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket...

    nginx-1.19.10.rar (内含配置文件案例)

    #工作模式与连接数上限 #这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(ulimit -n)与nginx进程数相除, #但是nginx分配请求并不是那么均匀,所以最好与ulimit -n 的值保持...

    linux平台使用python实现工作集算法,python图像界面显示算法执行过程

    驻留集未规定用多少页框,而是动态增长的,当然在实际系统中肯定设置了上限,比如Windows中大概32MB或者其他。对于一个进程来说,不用考虑那么远,看当下如何替换即可。工作集窗口大小是一个时间概念,不是说动态...

    一个进程池的服务器程序

    当父进程发现请求数 >= 子进程数时,父进程创建新的子进程,并把子进程数加1(当然子进程数有个预先上限);当父进程发现子进程数大于请求数加1时,父进程杀死多余的子进程。 总的来说,思想是让子进程accept并处理...

    Nginx配置文件详细说明

    #工作模式及连接数上限 events { use epoll; #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能 worker_connections 1024;#单个后台worker process进程的...

    计算机操作系统课程设计报告《生产者---消费者问题》.doc

    课程设计任务及要求 2.1 设计任务 通过研究Linux 的进程机制和信号量实现生产者消费者问题的并发控制. 说明:有界缓冲区内设有20个存储单元,放入/取出的数据项设定为1- 20这20个整型数。 2.2 设计要求 (1)每个生产...

    EPOLL模型详解

    epoll则没有这个限制,它所支持的FD上限是最大可以打开文件的数目,这个数字一般远大于2048,举个例子,在1GB内存的机器上大约是10万左 右,具体数目可以cat /proc/sys/fs/file-max察看,一般来说这个数目和系统内存...

    nginx 基本配置与参数说明详细介绍

    运行用户 user nobody; #启动进程,通常设置成和cpu的数量相等 ... 工作模式及连接数上限 events { #epoll是多路复用IO(I/O Multiplexing)中的一种方式, #仅用于linux2.6以上内核,可以大大提高nginx的性能 u

    Nginx配置文件nginx.conf详细说明

    在此记录下Nginx服务器nginx.conf的配置文件说明, 部分...#工作模式及连接数上限 events { use epoll; #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能 wor

    Nginx服务器Nginx.com配置文件详解

    在此记录下Nginx服务器nginx.conf的配置文件...#工作模式及连接数上限 events { use epoll; #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能 worker_connectio

    Nginx的nginx.conf配置文件中文注释说明

    代码如下:  #运行用户 ...   #启动进程,通常设置成和cpu的数量相等 ... #工作模式及连接数上限  events {  use epoll; #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内

    nginx 1.9 window 版本

    #工作模式及连接数上限 events { use epoll; #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能 worker_connections 1024;#单个后台worker process进程的...

    大名鼎鼎SWFUpload- Flash+JS 上传

     注意:该事件在Linux版本的Flash Player中存在问题,目前还无法解决。  - 传入参数  file object:文件对象  bytes complete:已经上传完毕的文件字节数  total bytes:文件总体积的字节数 [编辑本段]常见错误...

Global site tag (gtag.js) - Google Analytics