修改centos7系统用户最大线程数和最大文件数限制

需要注意,不同版本的Linux系统所对应的修改方法不同

ulimit 的作用

ulimit:显示(或设置)用户可以使用的资源的限制(limit),这限制分为软限制(当前限制)和硬限制(上限),其中硬限制是软限制的上限值,应用程序在运行过程中使用的系统资源不超过相应的软限制,任何的超越都导致进程的终止。

-> ulimit -a												# -a 列出所有当前资源极限

core file size          (blocks, -c) 0						#-c 设置core文件的最大值.单位:blocks
data seg size           (kbytes, -d) unlimited				#-d 设置一个进程的数据段的最大值.单位:kbytes
scheduling priority             (-e) 0						#
file size               (blocks, -f) unlimited				#-f Shell 创建文件的文件大小的最大值,单位:blocks
pending signals                 (-i) 385862					#
max locked memory       (kbytes, -l) unlimited				#-l 可以锁住的物理内存的最大值
max memory size         (kbytes, -m) unlimited				#-m 可以使用的常驻内存的最大值,单位:kbytes
open files                      (-n) 300000					#-n 每个进程可以同时打开的最大文件数
pipe size            (512 bytes, -p) 8						#-p 设置管道的最大值,单位为block,1block=512bytes
POSIX message queues     (bytes, -q) 819200					#
real-time priority              (-r) 0						#
stack size              (kbytes, -s) 8192					#-s 指定堆栈的最大值:单位:kbytes
cpu time               (seconds, -t) unlimited				#-t 指定每个进程所使用的秒数,单位:seconds
max user processes              (-u) 655360					#-u 可以运行的最大并发进程数
virtual memory          (kbytes, -v) unlimited				#-v Shell可使用的最大的虚拟内存,单位:kbytes
file locks                      (-x) unlimited				#

修改最大线程数和最大文件数限制

-> vim /etc/security/limits.conf 

 # 添加如下的行
 * soft noproc 65535
 * hard noproc 65535
 * soft nofile 65535
 * hard nofile 65535

其中:

  • noproc代表用户最大线程数限制
  • nofile代表最大打开文件数限制
  • " * "代表对所有用户生效

对于最大打开文件数限制只需要更改上面的参数即可,但对于用户最大线程数限制还需要根据系统不同修改以下文件

centos7系统

在centos7系统中,ulimit下面的nproc的数值是通过 /etc/security/limits.d/20-nproc.conf 来控制的

-> cat /etc/security/limits.d/20-nproc.conf

*          soft    nproc     1024
root       soft    nproc     unlimited

需要编辑 /etc/security/limits.d/20-nproc.conf 文件将限制值改大

Logo

更多推荐