用 CentOS 做 API 接口服务器供其他终端调用时,并发量高会报错:java.io.IOException: Too many open files。
其原因是在 Linux 下默认的Socket最大连接数为 1024(可以通过 ulimit -n 查看)。
![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3duZ3BlbmdoYW8_size_16_color_FFFFFF_t_70][]
于是开始修改Linux的配置文件来增加连接数:
在/etc/rc.local 后增加一行
ulimit -SHn 65535
在/etc/profile 后增加一行
ulimit -SHn 65535
在/etc/security/limits.conf最后加入两行
* soft nofile 65535
* hard nofile 65535
用'*'号表示修改所有用户的限制;
重启 Linux 服务器,通过 ulimit -a 查看可以发现
![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3duZ3BlbmdoYW8_size_16_color_FFFFFF_t_70 1][]
[watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3duZ3BlbmdoYW8_size_16_color_FFFFFF_t_70]: /images/1613399867171.png
[watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3duZ3BlbmdoYW8_size_16_color_FFFFFF_t_70 1]: /images/1613399846298.png