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

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

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

05-11 14:07