1 查看nproc(max user processes)命令
[root@vm-cdh4 ~]# ulimit -u
14866
2 修改nproc
临时修改, 重登录或重启后失效:
[root@vm-cdh4 ~]# ulimit -u 32768
[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_conf和nproc_conf中同时加入:
* soft nproc 16384
* hard nproc 16384 修改用户打开文件数
vim /etc/security/limits.conf
增加:
* soft nofile 409600
* hard nofile 409600