# 一、问题 Redhat 7系统,修改了/etc/security/limits.conf,未修改/etc/security/limits.d/20-nproc.conf ```bash [ff@test-4 ~]$ sudo vim /etc/security/limits.conf * soft nofile 65536 * hard nofile 65536 ``` 重新登录ssh,但是查询ulimit -n还是默认值1024,修改未生效。 ```bash [ff@test-4 ~]$ ulimit -n 1024 ``` 经查,ssh配置文件的UsePAM配置参数影响了上述值: ```bash [ff@test-4 ~]$ sudo vim /etc/ssh/sshd_config UsePAM no ``` # 二、解决方法 ## 方法 UsePAM no修改为UsePAM yes 注意:systemctl restart sshd.service 重启sshd服务,并重新登录ssh。 ## 辟谣 有人说不改 UsePAM,但是在用户的.bashrc中加入ulimit -n 65536,来修改limit。经验证是不可行的,因为通过ulimit配置的参数值不能大于limits.conf的设定值。 ```bash [ff@test-4 ~]$ ulimit -n 65536 -bash: ulimit: open files: cannot modify limit: Operation not permitted ```