一、修改方法
1.临时方法
为了优化linux性能,可能需要修改这个最大值。临时修改的话ulimit -n 204800就可以了,重启后失效。
2.永久生效方法
(1)、修改/etc/security/limits.conf文件 在文件末尾添加如下内容,然后重启服务器或重新登录即可生效。重启后用查看命令进行查看,如果显示数字等于204800即证明修改成功。如果不成功请继续往下看。
- 查看命令:(-n是可以打开最大文件描述符的数量。 -u是用户最大可用的进程数。)
ulimit -n
ulimit -u
修改配置命令:vim /etc/security/limits.conf 如下
* soft nofile 204800
* hard nofile 204800
* soft nproc 204800
* hard nproc 204800
我在解决这个问题时候,发现网上都是说修改这一个文件就行,但是我修改后重启服务器发现没更改过来。 后来发现,还需要修改两个文件。如果你重启后也没生效,请继续跟着往下修改。
(2)、/etc/security/limits.d/90-nproc.conf文件尾添加
* soft nproc 204800
* hard nproc 204800
(3)、/etc/security/limits.d/def.conf文件尾添加
* soft nofile 204800
* hard nofile 204800
二、不生效原因及解决方案
确保 pam 生效 在 /etc/pam.d/login 中,存在:
session required pam_limits.so
在 /etc/ssh/sshd_config 中, 存在:
UsePAM yes
limits.conf 建议不要使用星号 官方 manual 以及网上的教程有很多都用了 * 符号,然而不是所有系统都认的,比如我在解决这个问题时候,发现ubuntu系统就不支持。最前面一列代表用户名即root和evan。
不兼容方式:
* soft nofile 204800
* hard nofild 204800
兼容方式
root soft nofile 204800
root hard nofile 204800
es soft nofile 204800
es hard nofile 204800
文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/11706