作用:用来限制系统用户对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 blockdata seg size (kbytes, -d) unlimited #进程的数据段无限制scheduling priority (-e) 0file size (blocks, -f) unlimited #文件大小无限制pending signals (-i) 106496 #待处理的信号最多106496max locked memory (kbytes, -l) 32 # 任务锁住的物理内存最大值32kbmax 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) 0stack size (kbytes, -s) 10240 #进程的栈的最大值为10240字节cpu time (seconds, -t) unlimited #进程使用的CPU时间无限制max user processes (-u) 2047 #当前用户同时打开的进程(包括线程)的最大个数为 2047virtual memory (kbytes, -v) unlimited # 进程的最大虚拟内存无限制file locks (-x) unlimited #锁住文件无限制