centos中的ulimit命令

发布于:2025-06-05 ⋅ 阅读:(20) ⋅ 点赞:(0)

ulimit的作用

ulimit用于限制shell启动进程所占用的资源,支持以下各种类型的限制:所创建的内核文件的大小、进程数据块的大小、Shell进程创建文件的大小、内存锁住的大小、常驻内存集的大小、打开文件描述符的数量、分配堆栈的最大大小、CPU 时间、单个用户的最大线程数、Shell 进程所能使用的最大虚拟内存。同时,它支持硬资源和软资源的限制。
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/QTM_Gitee/article/details/127992049

CENTOS系统文件配置

配置文件地址

/etc/security/limits.conf

配置格式

limits.conf 文件的配置格式相对简单,每行定义一条规则,格式如下:

<domain>    <type>  <item>  <value> 

<domain>:指定规则适用的用户或用户组。可以是用户名、@组名、通配符(如 * 表示所有用户)或百分号(%)后跟用户名(表示限制指定用户的会话)。

<type>:限制类型,分为 soft 和 hard 两种。soft 表示警告限制,当达到此限制时,系统会给出警告,但仍允许用户继续操作(除非同时设置了 hard 限制);hard 表示强制限制,一旦达到,系统将不允许用户继续增加资源使用。

<item>:要限制的资源类型,如 cpu、as(地址空间大小)、rss(常驻集大小,即物理内存使用量)、nofile(打开的文件数量)、nproc(可创建的进程数量)等。

<value>:限制的具体值。

配置方法

参数 含义
-a 显示目前资源限制的设定。
-H 设定资源的硬性限制,也就是管理员所设下的限制。
-S 设定资源的弹性限制。
-c 限制内核文件的大小,单位为Block
-d 进程的数据段,单位为KB
-f shell所能建立的最大文件,单位为Block
-n 指定同一时间最多可打开的文件数。
-m 一个进程的常住物理内存,单位为KB。
-l 一个任务可以锁住的物理内存的最大值
-v 指定可使用的虚拟内存上限,单位为KB。
-p 指定管道缓冲区的大小,单位为512字节。
-s 进程的栈的最大值,单位KB
-t 指定进程使用CPU的时间,单位为秒
-u 用户最多可启动的进程数目。
-i 最多有多少个待处理的信号
-e 排程优先级
-q 消息队列的最大值为
-r 实时优先级
-x 所能锁住的文件的最大个数

-h就是硬限制,-s就是软限制,如果运行ulimit修改的时候没有加上的话,就是两个参数一起改变,生效。 ( ulimit -SHn 65535 等效 ulimit -n 65535 )

这些建议设置成无限制(unlimited):

   数据段长度:ulimit -d unlimited  
   最大内存大小:ulimit -m unlimited  
   堆栈大小:ulimit -s unlimited  
   CPU 时间:ulimit -t unlimited  
虚拟内存:ulimit -v unlimited  

网站公告

今日签到

点亮在社区的每一天
去签到