ulimit 命令
2013-03-28 by dongnan
功能
ulimit
命令用于查看当前的各种用户进程限制。
举个栗子
某台 CentOS 6.3
服务器 root
账户限制信息如下:
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) 15040
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 65536
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) 1024
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
配置 limits
可以通过设置 /etc/security/limits.conf
文件,调整进程限制参数:
awk '! /^(#|$| )/' /etc/security/limits.conf
* soft nproc 65536
* hard nproc 65536
* soft nofile 65536
* hard nofile 65536
RHEL6 引入了配置文件 /etc/security/limits.d/90-nproc.conf
,
当使用*
号让全局用户生效的时候,生效的的值大小是受文件/etc/security/limits.d/90-nproc.conf
中nproc
值大小制约的。
awk '! /^(#|$| )/' /etc/security/limits.d/90-nproc.conf
* soft nproc 1024
命令帮助
语法格式:
ulimit [-acdfHlmnpsStvw] [size]
参数介绍:
-H 设置硬件资源限制。
-S 设置软件资源限制。
-a 显示当前所有的资源限制。
-c size:设置core文件的最大值。单位:blocks
-d size:设置数据段的最大值。单位:kbytes
-f size:设置创建文件的最大值。单位:blocks
-l size:设置在内存中锁定进程的最大值。单位:kbytes
-m size:设置可以使用的常驻内存的最大值。单位:kbytes
-n size:设置内核可以同时打开的文件描述符的最大值。单位:n
-p size:设置管道缓冲区的最大值。单位:kbytes
-s size:设置堆栈的最大值。单位:kbytes
-t size:设置CPU使用时间的最大上限。单位:seconds
-v size:设置虚拟内存的最大值。单位:kbytes
-u <程序数目> 用户最多可开启的程序数目