ulimit

ulimit
ulimit 是一个计算机命令,用于shell启动进程所占用的资源,参数形式有-H设置硬资源限制;-S 设置软资源限制;-a 显示当前所有的资源限制等。

语法格式:

ulimit [-acdfHlmnpsStvw] [size]

-H 设置硬资源限制.
-S 设置软资源限制.
-a 显示当前所有的资源限制.
-c size:设置core文件的最大值.单位:blocks
-d size:设置数据段的最大值.单位:kbytes
-f size:设置创建文件的最大值.单位:blocks
-l size:设置在内存中锁定进程的最大值.单位:kbytes
-m size:设置可以使用的常驻内存的最大值.单位:kbytes
-n size:设置内核可以同时打开的文件描述符的最大值.单位:n
-p size:设置管道缓冲区的最大值.单位:kbytes
-s size:设置堆栈的最大值.单位:kbytes
-t size:设置CPU使用时间的最大上限.单位:seconds
-v size:设置虚拟内存的最大值.单位:kbytes
-u <程序数目>  用户最多可开启的程序数目

-n 和 -u 可以查看linux的最大进程数和每个进程最大打开文件数。

设置大小(当前登陆终端有效)

ulimit -n 10240
ulimit -u 10240

修改/etc/security/limits.conf 文件进行设置

* soft nofile 204800
* hard nofile 204800
* soft nproc 204800
* hard nproc 204800

* 代表针对所有用户 
noproc 是代表最大进程数 
nofile 是代表最大文件打开数

设置成无限制(unlimited)的一些重要设置是:

数据段长度:ulimit -d unlimited
最大内存大小:ulimit -m unlimited
堆栈大小:ulimit -s unlimited
CPU 时间:ulimit -t unlimited
虚拟内存:ulimit -v unlimited

有的根据系统未生效 需要更改两个;
1、/etc/security/limits.d/90-nproc.conf 文件尾添加

* soft nproc 204800
* hard nproc 204800

2、/etc/security/limits.d/def.conf 文件尾添加

* soft nofile 204800
* hard nofile 204800

这两个文件的设置将会覆盖前面的设置。重启后生效。

原文地址:https://www.cnblogs.com/sharesdk/p/9875862.html