tomcat 运行一段时间后 报错 然后根据网上的配置 已经做了修改
发现java 进程打开文件过多
非运维人员,所以想知道 后续再查具体的怎么做?
检查一下应该有打开文件没关闭的情况
回复 <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>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。