开发者社区> 问答> 正文

tomcat Too many open files?报错

tomcat 运行一段时间后 报错 然后根据网上的配置 已经做了修改

发现java 进程打开文件过多

非运维人员,所以想知道 后续再查具体的怎么做?

展开
收起
爱吃鱼的程序员 2020-06-07 18:34:59 472 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
                        检查一下应该有打开文件没关闭的情况 
                    
    
                                回复 <a class="referer" target="_blank">@hyni</a>  :  没有什么工具哦
                        
    
                                回复 <a class="referer" target="_blank">@红薯</a>  : 代码也看了 没发现什么具体问题,所以想问问 有没有什么工具可以跟踪或者查看到打开了什么文件过多
                        
    
                            <a class="referer" target="_blank">@hyni</a>  找bug,检查所有带文件操作的代码 
                        
    
                            大佬 就是不知道该怎么具体操作了
                        
    
                        <p>这个只能核查所有有文件操作或者流操作的的代码</p>
    

    我们的系统前一段也出这个问题,把所有的导入导出代码都核查了一遍才搞定

                        <p>垃圾代码呗。写的人水平有限,忘记关闭各种打开过的流,时间长了就会这样。最简单的办法,给eclipse 安装 findbugs 插件,然后直接整个项目右键检查bug,对于这种流没关闭的,在代码审查上就会被全部提示出来的,然后逐个把流关闭了就成了。</p>
    
                    
    
                            是的  但是findbugs 找不到流 未关闭的阿 我故意把一个方法理的流没关闭,没查出来
                        
    
                        <p><img height="461" src="https://static.oschina.net/uploads/space/2018/0115/180450_jX0r_176115.png" width="1109"></p>
    

    你一定用的是一个 假的findbugs吧。我这边故意写一个还写了关闭的,它都提示可能会导致没关闭。更别说没写 close 了。

    我的设置如图:

                        <p>一次 不能2个图么 。。。</p>
    

                        <p>本地可能太多socket打开了没有关闭,套字节导致问题。</p>
    
    2020-06-08 11:16:42
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Apache Tomcat 的云原生演进 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载