ulimit 命令详解

ulimit 的简介及常用参数

ulimit:显示(或设置)用户可以使用的资源的限制(limit),这限制分为软限制(当前限制)和硬限制(上限),其中硬限制是软限制的上限值,应用程序在运行过程中使用的系统资源不超过相应的软限制,任何的超越都导致进程的终止。
参数 描述
ulimited 不限制用户可以使用的资源,但本设置对可打开的最大文件数(max open files)
和可同时运行的最大进程数(max user processes)无效
-a 列出所有当前资源极限
-b 最大套接字缓冲区大小
-c 设置core文件的最大值.单位:blocks
-d 设置一个进程的数据段的最大值.单位:kbytes
-f Shell 创建文件的文件大小的最大值,单位:blocks
-h 指定设置某个给定资源的硬极限。如果用户拥有 root 用户权限,可以增大硬极限。任何用户均可减少硬极限
-k 可以分配的最大 kqueue 数
-i 待处理信号的最大数量
-l 可以锁住的物理内存的最大值
-m 可以使用的常驻内存的最大值,单位:kbytes
-n 每个进程可以同时打开的最大文件数
-p 设置管道的最大值,单位为block,1block=512bytes
-s 指定堆栈的最大值:单位:kbytes,Java程序需要适当的设置大一点
-S 指定为给定的资源设置软极限。软极限可增大到硬极限的值。如果 -H 和 -S 标志均未指定,极限适用于以上二者
-t 指定每个进程所使用的秒数,单位:seconds
-u 单个用户可用的最大进程数
-v 进程可用的最大虚拟内存量,单位:kbytes
-x 文件锁的最大数量
-T 最大线程数 

l临时生效

ulimit -u 10240 # 用户的最大进程数
ulimit -n 4096  #每个进程可打开的文件数
ulimit -d unlimited #数据段长度
ulimit -m unlimited #最大内存大小
ulimit -s unlimited  #堆栈大小
ulimit -t unlimited #CPU 时间
ulimit -v unlimited #虚拟内存

 

永久生效

修改所有 linux 用户的环境变量文件

 vi /etc/profile.d/ulimit.sh # ~/.bashrc
    ulimit -u 10000
    ulimit -n 4096
    ulimit -d unlimited
    ulimit -m unlimited
    ulimit -s unlimited  
    ulimit -t unlimited
    ulimit -v unlimited

修改配置文件

# vi /etc/security/limits.conf
#<domain>        <type>  <item>  <value>

*               -       core             <value>
*               -       data             <value>
*               -       priority         <value>
*               -       fsize            <value>
*               soft    sigpending       <value> eg:57344
*               hard    sigpending       <value> eg:57444
*               -       memlock          <value>
*               -       nofile           <value> eg:1024
*               -       msgqueue         <value> eg:819200
*               -       locks            <value>
*               soft    core             <value>
*               hard    nofile           <value>
@<group>        hard    nproc            <value>
<user>          soft    nproc            <value>
%<group>        hard    nproc            <value>
<user>          hard    nproc            <value>
@<group>        -       maxlogins        <value>
<user>          hard    cpu              <value>
<user>          soft    cpu              <value>
<user>          hard    locks            <value>

<domain>可以是以下值

用户名
组名,带有@group语法
通配符*,用于默认条目
通配符%,也可以与%group语法一起使用,用于maxlogin限制

<type>可以有两个值: 

soft:用于执行软限制
hard:用于执行硬限制

<item>可以是以下之一

core- 限制核心文件大小 (KB)
data- 最大数据大小 (KB)
fsize- 最大文件大小 (KB)
memlock- 最大锁定内存地址空间 (KB)
nofile- 最大打开文件数
rss- 最大驻留集大小 (KB)
stack- 最大堆栈大小 (KB)
cpu- 最大 CPU 时间 (MIN)
nproc- 最大进程数(见下面的注释)
as- 地址空间限制 (KB)
maxlogins- 此用户的最大登录次数
maxsyslogins- 系统上的最大登录数
priority- 运行用户进程的优先级
locks- 用户可以持有的最大文件锁数
sigpending- 挂起信号的最大数量
msgqueue- POSIX 消息队列使用的最大内存(字节)
nice- 允许提升到值的最大优先级:[-20, 19]
rtprio- 最大实时优先级 

注意事项

在 /etc/security/limits.conf 中设置 nproc 在 Red Hat Enterprise Linux 中无效,要在/etc/security/limits.d/90-nproc.conf文件中修改。

  

  

posted @ 2022-03-03 23:36  百衲本  阅读(3238)  评论(0编辑  收藏  举报
cnblogs_post_body { color: black; font: 0.875em/1.5em "微软雅黑" , "PTSans" , "Arial" ,sans-serif; font-size: 15px; } cnblogs_post_body h1 { text-align:center; background: #333366; border-radius: 6px 6px 6px 6px; box-shadow: 0 0 0 1px #5F5A4B, 1px 1px 6px 1px rgba(10, 10, 0, 0.5); color: #FFFFFF; font-family: "微软雅黑" , "宋体" , "黑体" ,Arial; font-size: 23px; font-weight: bold; height: 25px; line-height: 25px; margin: 18px 0 !important; padding: 8px 0 5px 5px; text-shadow: 2px 2px 3px #222222; } cnblogs_post_body h2 { text-align:center; background: #006699; border-radius: 6px 6px 6px 6px; box-shadow: 0 0 0 1px #5F5A4B, 1px 1px 6px 1px rgba(10, 10, 0, 0.5); color: #FFFFFF; font-family: "微软雅黑" , "宋体" , "黑体" ,Arial; font-size: 20px; font-weight: bold; height: 25px; line-height: 25px; margin: 18px 0 !important; padding: 8px 0 5px 5px; text-shadow: 2px 2px 3px #222222; } cnblogs_post_body h3 { background: #2B6695; border-radius: 6px 6px 6px 6px; box-shadow: 0 0 0 1px #5F5A4B, 1px 1px 6px 1px rgba(10, 10, 0, 0.5); color: #FFFFFF; font-family: "微软雅黑" , "宋体" , "黑体" ,Arial; font-size: 18px; font-weight: bold; height: 25px; line-height: 25px; margin: 18px 0 !important; padding: 8px 0 5px 5px; text-shadow: 2px 2px 3px #222222; } 回到顶部 博客侧边栏 回到顶部 页首代码 回到顶部 页脚代码