java.io.IOException: Too many open files错误解决方案

     部署在LINUX上的SSO服务器近日每隔几天就会当掉,查看日志有这样的错误:java.io.IOException: Too many open files。网上查了下,说是由于linux有打开文件句柄的限制。可以使用ulimit -a 查看当前用户可最大打开的文件句柄数,如果没有设的话默认值是1024,并可以通过ulimit -u xxx进行修改。但是这个修改如果是在通过SSH工具进行登录的客户端窗口上做的话,只能暂时生效,当窗口一关闭,下次看还是1024这个默认值。如果要永久生效,必须修改/etc/security/limits.conf文件,在上面加入

* - nofile 204   这样就可以一直生效了。

注:1.(此时type用“-”,表示hard和soft同时设定。domain设置为星号代表全局,也可以针对不同的用户做出不同的限制)

  2. 不过之前启动过的程序要重新启动才能使用新的值。

原文地址:https://www.cnblogs.com/hzhuxin/p/2815069.html