Ulimit -系统资源配额配置说明

Linux 对于每个用户,系统限制其最大进程数,为提高性能,可以根据设备资源情况,
设置个Linux用户的最大进程数,一些需要设置为无限制;

 ulimit 参数说明

选项

含义

例子

-H

设置硬资源限制,一旦设置不能增加。

ulimit –Hs 64;限制硬资源,线程栈大小为 64K。

-S

设置软资源限制,设置后可以增加,但是不能超过硬资源设置。

ulimit –Sn 32;限制软资源,32 个文件描述符。

-a

显示当前所有的 limit 信息。

ulimit –a;显示当前所有的 limit 信息。

-c

最大的 core 文件的大小, 以 blocks 为单位。

ulimit –c unlimited; 对生成的 core 文件的大小不进行限制。

-d

进程最大的数据段的大小,以 Kbytes 为单位。

ulimit -d unlimited;对进程的数据段大小不进行限制。

-f

进程可以创建文件的最大值,以 blocks 为单位。

ulimit –f 2048;限制进程可以创建的最大文件大小为 2048 blocks。

-l

最大可加锁内存大小,以 Kbytes 为单位。

ulimit –l 32;限制最大可加锁内存大小为 32 Kbytes。

-m

最大内存大小,以 Kbytes 为单位。

ulimit –m unlimited;对最大内存不进行限制。

-n

可以打开最大文件描述符的数量。

ulimit –n 128;限制最大可以使用 128 个文件描述符。

-p

管道缓冲区的大小,以 Kbytes 为单位。

ulimit –p 512;限制管道缓冲区的大小为 512 Kbytes。

-s

线程栈大小,以 Kbytes 为单位。

ulimit –s 512;限制线程栈的大小为 512 Kbytes。

-t

最大的 CPU 占用时间,以秒为单位。

ulimit –t unlimited;对最大的 CPU 占用时间不进行限制。

-u

用户最大可用的进程数。

ulimit –u 64;限制用户最多可以使用 64 个进程。

-v

进程最大可用的虚拟内存,以 Kbytes 为单位。

ulimit –v 200000;限制最大可用的虚拟内存为 200000 Kbytes。

-H

设置硬资源限制,一旦设置不能增加。

ulimit –Hs 64;限制硬资源,线程栈大小为 64K。

-S

设置软资源限制,设置后可以增加,但是不能超过硬资源设置。

ulimit –Sn 32;限制软资源,32 个文件描述符。

-a

显示当前所有的 limit 信息。

ulimit –a;显示当前所有的 limit 信息。

Ulimit -系统资源配额配置说明_第1张图片

ulimit 是用来限制用户在当前会话的资源限制的,若新开一个会话,则用户的会话级资源限制又会回复到默认值。如果要想让用户的资源限制的修改同步到用户的每个限制,有两种做法

写入用户家目录的 profile or bashrc 中

修改limits.conf

1.修改/etc/security/limits.conf 文件说明(修改该文件过后需要重启生效,此配置文件系统全局生效,建议只针对单个用户配置):

           

       ckl //用户

          @student //组

          * //通配符,所有用户

          % //通配符,用在组的语法  

     soft //软限制

         hard //硬限制    

     core //限制内核文件的大小

         data //最大数据大小限制

         fsize //最大文件大小限制

         memlock //最大锁内存地址空间

         nofile //进程打开文件数的限制 nofile 的软硬限制的值不能超过内核参数 /proc/sys/fs/nr_open ,否则就会有问题

         rss //最大持久驻留内存

         stack //最大堆栈大小

         cpu //最大CPU运行时间

         nproc //最大进程数

         as //地址空间限制

         maxlogins //最大登录次数,用户

         maxsyslogins //最大登录次数,登录此系统的最大次数

         priority //用户运行的优先级

         locks //用户锁定文件数限制

         sigpending //信号可以被挂起的最大数

         msgqueue //可以创建使用POSIX消息队列的最大值

         nice //可以设置的优先级,nice [-20, 19]

         rtprio //实时优先级, 数字大的优先级高

示例:(*:代表所有用户 若需要针对某个用户做配额则根据对应语法格式替换即可。示例仅供参考)

vi /etc/security/limits.conf

*           soft  core   unlimit

*           hard  core   unlimit

*           soft  fsize  unlimited

*           hard  fsize  unlimited

*           soft  data   unlimited

*           hard  data   unlimited

*           soft  nproc  65535

*           hard  nproc  63535

*           soft  stack  unlimited

*           hard  stack  unlimited

*           soft  nofile  409600

*           hard  nofile  409600

root   soft   memlock         unlimited

root         hard  memlock         unlimited

root   soft   sigpending       512000

root         hard  sigpending       512000

  1. 写入用户家目录的 .bash_profile or .bashrc 说明:

使用写入用户家目录的 .bash_profile 或者 .bashrc 方式添加配额的时候只需要把命令行里生效的配置写入该文件就行,例如:

 Vi   ~/.bash_profile 或者vi ~/.bashrc 

ulimit –m  unlimited

ulimit –t  unlimited

ulimit –s  51200

你可能感兴趣的:(Ulimit)