• 本页内容

54. ulimit


使用 ulimit 您可以控制可分配给 bash shell 启动的进程的资源量。 语法:

ulimit [-SHacdefilmnpqrstuvx] [limit]

如下所示。 由此输出,您可以看到允许 shell 进程打开的 open files 总数 1024,“最大内存大小” 可用于 shell 创建的进程是“无限制的”,等等。

要查看所有当前限制,请使用ulimit -a,如下所示。 从这个输出中,您可以看到 shell 创建的进程允许的 "open files" 总数为 1024,shell 创建的进程可用的 "max memory size" 是无限制, 等等…

$ 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) 31726
max locked memory       (kbytes, -l) 8192
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
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) 1000000
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

您可以使用特定资源的简短选项来查看该资源。 特定资源的短选项显示在上面的ulimit -a输出中的 {[< label ( ) >}} 内。 例如,打开文件的短选项是-n

$ ulimit -n
1024
$ ulimit -m
unlimited
$ ulimit -i
31726

要更改特定资源的值,请将新值指定为ulimit命令的参数。 以下示例将 "open files" 的数量从默认的 1024 更改为 2048

$ ulimit -n 2048

$ ulimit -n
2048

$ 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) 31726
max locked memory       (kbytes, -l) 8192
max memory size         (kbytes, -m) unlimited
open files                      (-n) 2048
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) 1000000
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

使用SH选项分别显示软限制或硬限制。

查看所有资源的软限制:

ulimit -aS

查看所有资源的硬限制:

ulimit -aH