默认的系统最大文件数限制为1024,在安装一些并发量大或者连接数要求较高的软件时,默认的设置会导致软件报错,如MySQL、Oracle等数据库,ES、Minio、Nginx等访问量较大的组件,所以我们一般会去修改这个限制数,一般的我们设置为65535就够用,但是当我们的系统是公网访问且用户量巨大时,遇到需要修改为百万级的连接,这时发现如下一个报错:
- 当我修改为2048000,exit机器重新登陆使配置生效,发现就再也连接不上机器了,直接通过虚拟机平台访问及其,输入用户名密码却提示权限问题
vim /etc/security/limits.conf
* soft nofile 2048000
* hard nofile 2048000
测试如果修改的数量小于1024000时,不会出现此问题,如果超出这个数量,需要同时修改另一个配置文件即可避免出现机器连接不上的问题
vim /etc/sysctl.conf
fs.file-max=6553500
fs.nr_open=6553500
sysctl -p /etc/sysctl.conf 使配置生效即可