一、命令简介
ulimit是一个计算机命令,用于shell启动进程所占用的资源,可用于修改系统资源限制。使用ulimit命令用于临时修改资源限制,如果需要永久修改需要将设置写入配置文件/etc/security/limits.conf。
二、使用示例
1、查看当前资源限制设置
[root@test1 ~]# 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) 3766
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 2048
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 3766
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
2、设置单一用户进程上限
[root@test1 ~]# ulimit -u 500
[root@test1 ~]# ulimit -a |grep user
max user processes (-u) 500
3、设置句柄数上限
[root@test1 ~]# ulimit -n
1024
[root@test1 ~]# ulimit -n 20480
[root@test1 ~]# ulimit -n
20480
4、配置core文件大小为无限制
该参数设置常用于JVM奔溃时问题排查临时开启,用于转储JVM奔溃前的数据内容。
[root@test1 ~]# ulimit -c
0
[root@test1 ~]# ulimit -c unlimited
[root@test1 ~]# ulimit -c
unlimited
5、设置虚拟内存最大值
[root@test1 ~]# ulimit -v 2048000
[root@test1 ~]# ulimit -a |grep virtual
virtual memory (kbytes, -v) 2048000
三、使用语法及参数说明
1、使用语法
用法:ulimit [-SHacdefilmnpqrstuvx] [limit]
2、参数说明
参数 | 参数说明 |
---|---|
-H | 设置硬资源限制. |
-S | 设置软资源限制. |
-a | 显示当前所有的资源限制. |
-c size | 设置core文件的最大值.单位:blocks,默认0 |
-d size | 设置数据段的最大值.单位:kbytes,默认unlimited |
-e | 调度优先级,一般根据nice设置,默认0 |
-f size | 设置创建文件的最大值.单位:blocks,默认unlimited |
-i | 待定信号值,默认3766 |
-l size | 设置在内存中锁定进程的最大值.单位:kbytes,默认64 |
-m size | 设置可以使用的常驻内存的最大值.单位:kbytes,默认unlimited |
-n size | 设置内核可以同时打开的文件描述符的最大值,默认1024 |
-p size | 设置管道缓冲区的最大值.单位:kbytes,默认8 |
-q | 可以创建使用POSIX消息队列的最大值,单位为bytes,默认819200 |
-r | 限制程序实时优先级的范围,只针对普通用户,默认值0 |
-s size | 设置堆栈的最大值.单位:kbytes,默认8192 |
-t size | 设置CPU使用时间的最大上限.单位:seconds,默认unlimited |
-u <程序数目> | 用户最多可开启的程序数目,默认3766 |
-v siz | 设置虚拟内存的最大值.单位:kbytes,默认unlimited |
-x | 锁定文件大小限制,默认unlimited,默认unlimited |
3、limits.conf 配置文件关键字说明
关键字 | 说明 |
---|---|
domain | 是指生效实体 |
user | 用户名 |
@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 |