ulimit 命令详解

作用:用来限制系统用户对shell 资源的访问,支持一下各种类型的限制:所创建的内核文件的大小, 进程数据块的大小, shell 进程创建文件的大小, 内存锁住的大小, 常驻内存集的大小, 打开文件描述符的数量, 分配堆栈的最大大小, CPU 时间, 单个用户的最大线程数, shell进程所能使用的最大虚拟内存。 同时, 它支持硬资源和软资源的限制。 作为临时限制, ulimit 可以作用于通过使用其命令登录的shell会话, 在会话终止时便结束限制, 并不影响其他shell 会话。 对于长期的固定限制, ulimit 命令语句可以添加到登录shell 读取的文件中, 作用于指定的shell用户。
选项:
-a 显示目前资源限制的设定
-c 设定core 文件的最大值
-d 程序数据节区的最大值
-f shell 所建立的最大文件
-H 设定字眼的硬性限制, 也就是管理员设下的限制
-m 内存的上线
-n  同一时间最多可开启的文件数
-p  指定管道缓冲的大小  , 单位 512 字节
-t   指定CPU 使用时间的上限
-u   用户最多可开启的程序数目
-v   指定可使用的虚拟内存上限

实例:  ulimit -a 

core file size                         (blocks, -c) 0                      #core 文件的最大值为100 block
data seg size                        (kbytes, -d) unlimited      #进程的数据段无限制
scheduling priority              (-e) 0                                  
file size                                 (blocks, -f) unlimited        #文件大小无限制
pending signals                   (-i) 106496                         #待处理的信号最多106496
max locked memory           (kbytes, -l) 32                    # 任务锁住的物理内存最大值32kb
max memory size               (kbytes, -m) unlimited      #任务常驻物理内存最大值无限制
open files                             (-n) 1024                            #任务最多可以同时打开1024的文件
pipe size                               (512 bytes, -p) 8               #管道的最大空间为4096字节
POSIX message queues      (bytes, -q) 819200           #POSIX 的消息队列的最大值为819200字节
real-time priority                (-r) 0                                   
stack size                              (kbytes, -s) 10240            #进程的栈的最大值为10240字节
cpu time                               (seconds, -t) unlimited     #进程使用的CPU时间无限制
max user processes            (-u) 2047                             #当前用户同时打开的进程(包括线程)的最大个数为 2047
virtual memory                   (kbytes, -v) unlimited        # 进程的最大虚拟内存无限制
file locks                               (-x) unlimited                     #锁住文件无限制

 
原文地址:https://www.cnblogs.com/LinuxSuDa/p/4482180.html