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 文件进行设置
# vim /etc/security/limits.conf
* soft nofile 204800 * hard nofile 204800 * soft nproc 204800 * hard nproc 204800
* 代表针对所有用户
soft 是表示阈值 (如可以 soft 1024, hard 10240 超过1024 系统会告警信息 )
hard 是标识最大值 noproc 是代表最大进程数 nofile 是代表最大文件打开数
soft nproc 单个用户可用的最大进程数量(超过会警告)
hard nproc 单个用户可用的最大进程数量(超过会报错)
soft nofile 可打开的文件描述符的最大数(超过会警告)
hard nofile 可打开的文件描述符的最大数(超过会报错)
# 不配置系统默认1024 ,配置重启生效。
实际/etc/security/limits.d/里面配置会覆盖 /etc/security/limits.conf的配置
有时配置最大打开数未生效 需要更改两个配置;
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
这两个文件的设置将会覆盖前面的设置。重启后生效。
设置成无限制(unlimited)的一些重要设置是:
数据段长度:ulimit -d unlimited
最大内存大小:ulimit -m unlimited
堆栈大小:ulimit -s unlimited
CPU 时间:ulimit -t unlimited
虚拟内存:ulimit -v unlimited