Linux命令之ulimit命令

一、命令简介

  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

posted on 2022-04-12 22:20  小破孩楼主  阅读(1151)  评论(0编辑  收藏  举报