ulimit参数详解

ulimit -a
core file size          (blocks, -c) 0    //限制内核文件的大小限制
data seg size           (kbytes, -d) unlimited  //最大数据大小限制
scheduling priority             (-e) 0   //调度优先级,一般根据nice设置
file size               (blocks, -f) unlimited  //最大文件大小限制
pending signals                 (-i) 192088  //信号可以被挂起的最大数,这个值针对所有用户,表示可以被挂起/阻塞的最大信号数量。
max locked memory       (kbytes, -l) 8000  //内存锁定值的限制
max memory size         (kbytes, -m) unlimited //最大可以使用内存限制
open files                      (-n) 409600 //进程打开文件数的限制
pipe size            (512 bytes, -p) 8   //管道文件大小限制
POSIX message queues     (bytes, -q) 819200  //可以创建使用POSIX消息队列的最大值,单位为bytes
real-time priority              (-r) 0   //限制程序实时优先级的范围,只针对普通用户
stack size              (kbytes, -s) 10240   //限制进程使用堆栈段的大小
cpu time               (seconds, -t) unlimited  //)程序占用CPU的时间,单位是秒
max user processes              (-u) 409600  //限制程序可以fork的进程数,只对普通用户有效
virtual memory          (kbytes, -v) unlimited  //限制进程使用虚拟内存的大小
file locks                      (-x) unlimited  //锁定文件大小限制

用法说明:

-a     All current limits are reported
-b     The maximum socket buffer size
-c     The maximum size of core files created
-d     The maximum size of a process's data segment
-e     The maximum scheduling priority ("nice")
-f     The maximum size of files written by the shell and its children
-i     The maximum number of pending signals
-l     The maximum size that may be locked into memory
-m     The maximum resident set size (many systems do not honor this limit)
-n     The maximum number of open file descriptors (most systems do not allow this value to be set)
-p     The pipe size in 512-byte blocks (this may not be set)
-q     The maximum number of bytes in POSIX message queues
-r     The maximum real-time scheduling priority
-s     The maximum stack size
-t     The maximum amount of cpu time in seconds
-u     The maximum number of processes available to a single user
-v     The maximum amount of virtual memory available to the shell
-x     The maximum number of file locks
-T     The maximum number of threads

/etc/security/limits.conf 文件说明:

<domain>        <type>  <item>  <value>

<domain>:
       ckl //用户
	   @student //组
	   * //通配符,所有用户
	   % //通配符,用在组的语法
	  
<type>:
      soft //软限制
	  hard //硬限制
	  
<item>:
      core //限制内核文件的大小
	  data //最大数据大小限制
	  fsize //最大文件大小限制
	  memlock //最大锁内存地址空间
	  nofile //进程打开文件数的限制
	  rss //最大持久驻留内存
	  stack //最大堆栈大小
	  cpu //最大CPU运行时间
	  nproc //最大进程数
	  as //地址空间限制
	  maxlogins //最大登录次数,用户
	  maxsyslogins //最大登录次数,登录此系统的最大次数
	  priority //用户运行的优先级
	  locks //用户锁定文件数限制
	  sigpending //信号可以被挂起的最大数
	  msgqueue //可以创建使用POSIX消息队列的最大值
	  nice //可以设置的优先级,nice [-20, 19]
	  rtprio //实时优先级,	数字大的优先级高

配置设置:

1.验证所有用户

设置进程数打开文件限制,目前是

ulimit  -n
1024
vim /etc/security/limits.conf 
*                soft    nofile       51200
*                hard    nofile       65535


查看:

ulimit -n
51200


2.添加用户测试core文件限制

目前是root用户

# ulimit -c
0
adduser ckl
vim /etc/security/limits.conf 
@ckl           soft    core         12000
@ckl           hard    core         12000

切换到ckl验证:

# su ckl
$ ulimit -c
12000
cat /etc/security/limits.conf
*                soft    nofile       51200
*                hard    nofile       65535
@ckl             soft    nproc        1200
@ckl             hard    nproc        1200