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<strong>
</strong>
|
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_conf和nproc_conf中同时加入:
1
2
|
* soft nproc
16384
* hard nproc
16384
|