一、命令简介

  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
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐