ubuntu16.04 ulimit命令详解

ulimit用来限制每个用户可使用的资源,如CPU、内存、句柄等。下面以ubuntu16.04为例进行总结。
1 查看ulimit 格式ulimit -[SHacefilmnpqrstuvx]
ubuntu16.04 ulimit命令详解
参数解释:
参数S:表示软限制,当超过限制值会报警

参数H:表示硬限制,必定不能超过限制值

参数a:将列出所有资源限制
参数c:当某些程序发生错误时,系统可能会将该程序在内存中的信息写成文件(除错用),这种文件就被称为核心文件(core file)。此为限制每个核心文件的最大容量

参数d:每个进程数据段的最大值

参数f:当前shell可创建的最大文件容量

参数l:可以锁定的物理内存的最大值

参数m:可以使用的常驻内存的最大值

参数n:每个进程可以同时打开的最大文件句柄数

参数p:管道的最大值

参数s:堆栈的最大值

参数t:每个进程可以使用CPU的最大时间

参数u:每个用户运行的最大进程并发数

参数v:当前shell可使用的最大虚拟内存

2.用limit进行参数修改
ulimit -[SHacefilmnpqrstuvx] + 值
如:ulimit -c 10000000 对当前登录shell有效

3.永久修改的方法:
/etc/profile中添加命令如:
ubuntu16.04 ulimit命令详解
source /etc/profile
或者修改/etc/security/limits.conf
格式说明如下:


domain 是指生效实体

用户名

也可以通过@group指定用户组

使用*表示默认值

type指限制类型

soft软限制

hard硬限制

item限制资源

core同ulimit -c

data同ulimit -d

fsize同ulimit -f

memloc同ulimit -l

nofile同ulimit -n

stack同ulimit -s

cpu 同ulimit -t

nproc同ulimit -u

maxlogins指定用户可以同时登陆的数量

maxsyslogins系统可以同时登陆的用户数

priority用户进程运行的优先级

locks用户可以锁定的文件最大值

sigpengding同ulimit -i

msgqueue同ulimit -q