ulimit: 显示(或设置)用户可以使用的资源的限制(limit),这限制分为软限制(当前限制)和硬限制(上限),其中硬限制是软限制的上限值,应用程序在运行过程中使用的系统资源不超过相应的软限制,任何的超越都导致进程的终止。
参数及描述
# ulimit -a
core file size (blocks, -c) 0
# 设置core文件的最大值.单位:blocks
data seg size (kbytes, -d) unlimited
# 设置一个进程的数据段的最大值.单位:kbytes
scheduling priority (-e) 0
# 调度优先级
file size (blocks, -f) unlimited
# Shell 创建文件的文件大小的最大值,单位:blocks
pending signals (-i) 7797
max locked memory (kbytes, -l) 64
# 可以锁住的物理内存的最大值
max memory size (kbytes, -m) unlimited
# 可以使用的常驻内存的最大值,单位:kbytes
open files (-n) 65535
# 每个进程可以同时打开的最大文件数
pipe size (512 bytes, -p) 8
# 设置管道的最大值,单位为block,1block=512bytes
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
# 指定堆栈的最大值:单位:kbytes
cpu time (seconds, -t) unlimited
# 指定每个进程所使用的秒数,单位:seconds
max user processes (-u) 7797
# 可以运行的最大并发进程数
virtual memory (kbytes, -v) unlimited
# Shell可使用的最大的虚拟内存,单位:kbytes
file locks (-x) unlimited
# unlimited没有限制
暂时,适用于通过 ulimit 命令登录 shell 会话期间。
永久,通过将一个相应的 ulimit 语句添加到由登录 shell 读取的文件中, 即特定于 shell 的用户资源文件。
如:
1 解除 Linux 系统的最大进程数和最大文件打开数限制:
vi /etc/security/limits.conf
# 添加如下的行
* soft noproc 11000
* hard noproc 11000
* soft nofile 32588
* hard nofile 65536
# 说明:* 代表针对所有用户,noproc 是代表最大进程数,nofile 是代表最大文件打开数
2 修改所有 linux 用户的环境变量文件:
vi /etc/profile
ulimit -u 10000
ulimit -n 4096
ulimit -d unlimited
ulimit -m unlimited
ulimit -s unlimited
ulimit -t unlimited
ulimit -v unlimited
#source /etc/profile 使其生效