ulimit
user limit, 限制 shell 用户启动进程所占用的资源。
ulimit -a , 显示目前资源限制的设定;
ulimit -u , 用户最多可开启的程序数目;
ulimit -a
:
core file size (blocks, -c) 0 # core 文件
data seg size (kbytes, -d) unlimited 进程的数据段可以任意大
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 127977 # 同时打开的最大进程数
max locked memory (kbytes, -l) 64 一个任务最大锁住的物理内存最大值为 64 kb
max memory size (kbytes, -m) unlimited
open files (-n) 65535 一个任务最多可以打开的文件数;
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 127977
virtual memory (kbytes, -v) unlimited 虚拟内存上限
file locks (-x) unlimited 能锁住的文件的最大个数
我们可以通过以下几种方式来使用 ulimit:
- 在用户的启动脚本中如果用户使用的是 bash,就可以在用户的目录下的 .bashrc 文件中,加入 ulimit – u 64,来限制用户最多可以使用 64 个进程。此外,可以在与 .bashrc 功能相当的启动脚本中加入 ulimt。
在应用程序的启动脚本中如果用户要对某个应用程序 myapp 进行限制,可以写一个简单的脚本 startmyapp。 | 1
2 |ulimit – s 512
myapp
| | —- | —- |以后只要通过脚本 startmyapp 来启动应用程序,就可以限制应用程序 myapp 的线程栈大小为 512K。
查看发行版
cat /etc/*-release