centos中的ulimit命令
centos中的ulimit命令
- ulimit的作用
- CENTOS系统文件配置
- 配置文件地址
- 配置格式
- 配置方法
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