【CentOS linux】linux修改limits.conf不生效
背景:在学习ElasticSearch的时候,使用SpringBoot项目连接的时候出现了,bootstrap check failure [1] of [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535],网上找了很多教程,都是修改limits.co
【CentOS linux】linux修改limits.conf不生效
背景:
在学习ElasticSearch的时候,使用SpringBoot项目连接的时候出现了,bootstrap check failure [1] of [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535],网上找了很多教程,都是修改limits.conf文件。但是无论怎么重启都不生效,一下也是寻找了很久,特此整理。
感谢:https://www.cnblogs.com/erlou96/p/16878298.html 博文的小编
一、修改方法
-
临时方法
为了优化linux性能,可能需要修改这个最大值。临时修改的话ulimit -n 204800就可以了,重启后失效。
-
永久性修改
修改/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)、(3)所示的这些文件时候,有些文件可能并不存在,或者90-nproc.conf没有,但是有20-nproc.conf,建议从根路径下,自己亲自cd进去。然后一步步找到目标文件。如果90-nproc.conf不存在,修改类似的文件即可,即xx-nproc.conf。
-
/etc/security/limits.d/90-nproc.conf文件尾添加 * soft nproc 204800
* hard nproc 204800
-
/etc/security/limits.d/def.conf文件尾添加* soft nofile 204800 * hard nofile 204800 -
修改后,重启服务器,继续用查看命令查看,如果还是没解决,继续往下看。我的到这里就可以了。
二、不生效的原因以及解决方法
其实这部分文件我也在按照别人的博客修改过,在 /etc/pam.d/login 中,存在:
session required pam_limits.so
确保ssh使用pam,session required pam_limits.so存在
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
evan soft nofile 204800
evan hard nofile 204800
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)