ulimit

用户限制 - 限制系统范围资源的使用。

语法

  ulimit [-acdfHlmnpsStuv] [limit]

选项



   -S   更改并报告与资源关联的软限制
   -H   更改并报告与资源关联的硬限制

   -a   报告所有当前限制
   -c   创建的核心文件的最大大小
   -d   进程数据段的最大大小
   -f   shell创建的文件的最大大小(默认选项) 
   -l   可以锁定到内存的最大大小。 
   -m   最大驻留集大小。
   -n   打开文件描述符的最大数量。 
   -p   管道缓冲区大小。 
   -s   最大堆栈大小。
   -t   以秒为单位的最大CPU时间量
   -u   单个用户可用的最大进程数。 
   -v   进程可用的最大虚拟内存量。 

ulimit在允许此类控制的系统上提供对shell可用资源及其启动的进程的控制.

软限制是内核为相应资源强制执行的值,硬限制作为软限制的上限.

无特权的过程可能只将其软限制设置为0到硬限制范围内的值,并且(不可逆地)降低其硬限制,特权进程可以对任一限制值进行任意更改。

如果给出limit,则它是指定资源的新值。否则,将打印指定资源的软限制的当前值,除非提供了“-H”选项

设置新限制时,如果既未提供“-H”也未提供“-S”,则设置硬限制和软限制。

限制每个用户进程(-u)对于限制fork bomb的潜在影响是有用的。

值以1024字节为单位递增,只有’ -t’以秒为单位,’ -p’以512字节为单位,’ -n’和’ -u’以未缩放值为单位

返回状态为零,除非提供了无效的选项,提供了一个非数值参数而不是unlimited作为限制,或者在设置新限制时发生错误。

ulimit是命令中内置的bash。

例子

[root@localhost ~]# 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) 3846
max locked memory       (kbytes, -l) 64
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) 3846
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

[root@localhost ~]# ulimit -u 65525				 #设置单一用户程序数目上限

[root@localhost ~]# 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) 3846
max locked memory       (kbytes, -l) 64
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) 65525		   #已改变
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

ulimit 命令实例:

linux命令:ulimit -n <value> <value> -n ulimit ulimit -n <value>rootopen.com
linux命令:ulimit -n <value> <value> -n ulimit ulimit -n <value>rootopen.com
2018-03-07 10:06:48

linux命令:ulimit -s 64 64 -s ulimit ulimit -s 64rootopen.com
linux命令:ulimit -s 64 64 -s ulimit ulimit -s 64rootopen.com
2018-05-07 18:35:48

Linux的Bash命令行(A-Z排序)