Linux 用户打开进程数的调整!! 本文内容仅在 RHEL6.4 上测试通过,本文仅针对所有用户。

1 查看nproc(max user processes)命令

[root@vm-cdh4 ~]# ulimit -u
14866

2 修改nproc
临时修改, 重登录或重启后失效:

[root@vm-cdh4 ~]# ulimit -u 32768

尝试在 /etc/security/limits.conf 中加入下面的配置:

*    soft    nproc    32768

退出当前用户, 重登录或重启后, 查看发现配置仍然失效.

继续尝试在 /etc/security/limits.d/90-nproc.conf 中加入配置:

*    soft    nproc    65536

退出当前用户, 重登录或重启后, 查看发现配置仍然失效.

继续尝试在 /etc/security/limits.d/90-nproc.conf 中加入配置:

* soft nproc 65536
* hard nproc 65536

重登录或重启后, 查看发现配置生效. 可见hard nproc起作用. 

3 结论

 临时修改(shell中不受限制, xxx可以是任何数, 说明这个修改没有意义):

# ulimit -u xxx

永久修改, 保险的做法是同时修改/etc/security/limits.d/90-nproc.conf  /etc/security/limits.conf如下: 

limits_conf = /etc/security/limits.conf:

*  soft  nproc    s1
*  hard  nproc    h1

nproc_conf = /etc/security/limits.d/90-nproc.conf:

*  soft    nproc    s2
*  hard    nproc    h2

s1,h1,s2,h2必须是具体有意义的数. 此时ulimit -u显示的值为=min(h1,h2)

因此通常就设置s1=s2=h1=h2, 例如在limits_confnproc_conf中同时加入:

*  soft  nproc  16384
*  hard  nproc  16384