ulimit命令详解

控制shell程序的资源

语法

ulimit [-aHS] [-c ] [-d <文件段大小>] [-f <文件大小>] [-m <内存大小>] [-n <文件数>] [-p <缓存区大小>] [-s <堆栈大小>] [-t ] [-u <程序数目>] [-v <虚拟内存大小>]

功能介绍

ulimit 为 shell 内建命令,可用来控制 shell 执行程序的资源。

参数

参数 作用
-a 显示当前资源限制的设定
-c 设置core文件的最大值,单位为区块
-d 程序数据段的最大值,单位为KB
-f shell所能简历的最大文件,单位为区块
-H 设定资源的硬性限制,也就是管理员所设下的兼职
-m 指定可用内存的上线,单位为KB
-n 指定同一时间最多可开启的文件数
-p 指定管道缓冲区的大小,单位为512字节
-s 自定堆栈的上线,单位为KB
-S 设定资源的弹性限制。只是由用户在管理员所设的硬性资源限制之下,自行加上的限制
-t 指定CPu使用时间的上限,单位为秒
-u 用户最多可启动的程序数目
-v 指定可使用的虚拟内存上限,单位为KB

例子

显示当前资源限制的设定值:

# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 62798
max locked memory       (kbytes, -l) 64
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) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 65535
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited