遇到了too many open files问题

今天生产遇到了too many open files问题.

发生此问题的原因是打开的文件(流)过多,并且没有关闭.

因此遇到这种情况,可以先通过ulimit -a来查询linux系统中设置的上线是多少.

如果上线太低,就通过ulimit -n 2048来设置上限.

但此方法重启会重置设置,因此需要在配置文件中添加.

vim /etc/security/limits.conf  
#在最后加入  
* soft nofile 4096  

* hard nofile 4096  

* - nofile 8192

最前的 * 表示所有用户,可根据需要设置某一用户,例如

roy soft nofile 8192  

roy hard nofile 8192  

参考地址:https://blog.csdn.net/roy_70/article/details/78423880


不过以上方法并没有解决掉生产上碰到的问题,并且open files本身设置就是65545这么大.


如果想具体查哪个进程调用了多少,请使用lsof命令(如果系统报错说没找到则使用yum安装).


你可能感兴趣的:(Java)