1、作用
ulimit为shell内建指令,用于shell启动进程所占用的资源。
2、参数
-a 显示目前资源限制的设定。
-c <core文件上限> 设定core文件的最大值,单位为区块。
-d <数据节区大小> 程序数据节区的最大值,单位为KB。
-f <文件大小> shell所能建立的最大文件,单位为区块。
-H 设定资源的硬性限制,也就是管理员所设下的限制。
-m <内存大小> 指定可使用内存的上限,单位为KB。
-n <文件数目> 指定同一时间最多可开启的文件数。
-p <缓冲区大小> 指定管道缓冲区的大小,单位512字节。
-s <堆叠大小> 指定堆叠的上限,单位为KB。
-S 设定资源的弹性限制。
-t <CPU时间> 指定CPU使用时间的上限,单位为秒。
-u <程序数目> 用户最多可开启的程序数目。
-v <虚拟内存大小> 指定可使用的虚拟内存上限,单位为KB。
3、用法举例
ulimit -a:用来显示当前的各种用户进程限制。
ulimit -u 10000:设置linux用户的最大进程数设为10000个。
ulimit -n 4096:将每个进程可以打开的文件数目加大到4096,默认为1024
相应的用法可选相应的参数即可。但是此种用法只对向前shell界面有效,如果关闭当前shell,就会恢复之前设置,要想将我们的更改永久生效,请看下面。
4、永久生效
//1、修改limits.conf文件
//进入limits.conf文件
vim /etc/security/limits.conf
//在其文件末加(自己可适当修改)
* hard nofile 1000000
* soft nofile 1000000
* soft core unlimited
* soft stack 10240
* soft nproc 131072
* hard nproc 131072
* soft core unlimited
* hard core unlimited
* soft memlock 50000000
* hard memlock 50000000
elastic soft memlock unlimited
elastic hard memlock unlimited
elastic soft nofile 300000
elastic hard nofile 300000
//2、修改profile文件
//进入profile文件
vim /etc/profile
//在其文件末加
ulimit -s unlimited
//3、重启profile文件使其生效
source /etc/profile