用户打开进程数的调整

1 查看nproc(max user processes)命令

 

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

 

2 修改nproc

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

 

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

32768

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

 

?
1
*    soft    nproc     32768

 

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

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

 

?
1
*    soft    nproc     65536

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

 

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

 

?
1
2
* soft nproc 65536
* hard nproc 65536

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

 

3 结论

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

 

?
1
# ulimit -u xxx


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

 

limits_conf = /etc/security/limits.conf:

 

?
1
2
3
*   soft   nproc    s1
*   hard   nproc    h1

 

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

 

?
1
2
*   soft    nproc    s2
*   hard    nproc    h2

 

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

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

 

?
1
2
*   soft   nproc   16384
*   hard   nproc   16384

你可能感兴趣的:(shell)