ulimit系统资源的设定

时间:2023-03-09 05:33:53
ulimit系统资源的设定

使用ulimit -a 可以查看系统使用的资源

ulimit系统资源的设定

core file size 设定core文件的最大值,单位为区块,如果指定为0,不会产生core文件

data seg size 设定数据段的最大值,单位为KB

scheduling priority  进程优先级的限定:这个值对root不起作用

file size  shell所能建立的最大文件大小,单位为区块

pending signals  进程最大挂起/阻塞的信号量数量

max locked memory  可以锁住的物理内存的最大值,单位:kbytes,这个值只root用户不起作用,锁定内存的操作由mlock()函数提供,避免swap in/ swap out

max memory size  可以使用的常驻内存的最大值,单位:kbytes

open files 指系统打开的最大文件数,若超出1024容易报error:too many open files

pipe size 设置管道的最大值,单位为block,1 block=512 bytes

POSIX message queues POSIX的消息队列的最大值为819200字节

real-time priority  限制程序实时优先级的范围,只针对普通用户,root不起作用

stack size  指定线程堆栈的最大值,单位:kbytes

cpu time  指定进程使用的CPU时间的上限,单位为秒

max user processes  用户最多可开启的程序数目

virtual memory  指定可使用的虚拟内存上限,单位为KB

file locks  所能锁住的文件的最大个数没有限制

有如下三种修改方式:

1. 在/etc/rc.local 中增加一行 ulimit -SHn 65535
2. 在/etc/profile 中增加一行 ulimit -SHn 65535

3. /etc/security/limits.conf是Linux系统资源使用的配置文件,用来设置用户对系统资源的使用

ulimit系统资源的设定

语法:<domain>:

      表示限定的对象,可以是用户、用户组(组名前加@区分用户)、或者*(所有用户)

   <type>:

      soft 表示告警的设定,即超过这个值就会产生告警信息

      hard 表示严格的设定,肯定不会超过这个设定的值

 <item>:

      core:限制内核文件大小

      data:最大数据大小

      fsize:最大文件大小

      memlock:最大锁定内存地址空间

         nofile:打开文件的最大数目

      rss:最大持久设置大小

      stack:最大栈大小

      cpu:以分钟为单位的最多CPU时间

      noproc:进程的最大数目

      as:地址空间限制

   <value>:

      表示要限制的值

例如:

ulimit系统资源的设定

1、所有用户打开文件的最大数目为65535,超过65535就会告警

2、所有用户打开文件的最大数目为65535,不会超过这个值

3、所有mysql组的用户最大锁定内存地址空间不限制(有点没理解~-~)

4、所有mysql组的用户最大锁定内存地址空间不限制

注意:在修改进程数资源的时候,/etc/security/limits.d/90-nproc.conf文件的会制约limits.conf文件的nproc进程数,所以如果改了limits.conf文件的nproc发现值未生效,90-nproc.conf文件也要添加nproc的相关参数