【原创】修改最大用户进程限制 "ulimit -u"

centos 6.x

  内核版本2.6.32以上,修改/etc/security/limits.d/90-nproc.conf:因为系统是先读/etc/security/limits.conf的值,在用/etc/security/limits.d/90-nproc.conf去覆盖,所以,仅仅更改/etc/security/limits.conf是没有效果的

centos 5.x

  centos 5.x 并没有90-nproc.conf这个文件,我这边是通过修改/etc/security/limits.conf,在最后添加
    * soft nproc N
    * hard nproc N

 

如果没有限制, 则最大值是由物理内存大小决定:/proc/meminfo(kb) 除以 128(kb),原理来自于:http://blog.yufeng.info/archives/2568

$ cat /proc/meminfo |grep MemTotal

MemTotal: 49421024 kB

$ echo "49421024 / 128"| bc
386101

$ ulimit -u
385962

注:BC命令行计算器

 

如果进程可能会无限制条用fork,且进程已经启动的情况下,在修改上述的值是无效的,以下为动态调整方法:

  echo -n ‘Max processes=SOFT_LIMITS:HARD_LIMITS’ > /proc/`pidof mysqld`/limits
  通过如上命令就可以动态调整已经存在的mysqld的processes限制了。

 

posted @ 2016-08-06 17:22  彭玉松  阅读(1891)  评论(0编辑  收藏  举报