• 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

  • 相关阅读:
    帧同步资料收集
    随机数种子问题
    【转】 DOTA2中的伪随机及其lua实现
    C++ 异常机制分析
    细说new与malloc的10点区别
    static关键字总结
    C++11 并发编程基础(一):并发、并行与C++多线程
    论一个程序员的自我修养
    gSoap的多线程程序
    面试常见问题:
  • 原文地址:https://www.cnblogs.com/zouhong/p/16137906.html
Copyright © 2020-2023  润新知