我有一个在 Unix 中的 Jboss 中运行的 java EE 应用程序,我注意到几天后我收到“太多打开的文件” 我已经确定了泄漏的内容,但我不知道它实际上是什么,也不知道如何找到代码的哪一部分泄漏
我对 lsof 的分析表明这些行正在缓慢增加:
java 25222 user 220u unix 105,208835 0t465959 55050244 /devices/pseudo/tl@0:ticots->(socketpair: 0x32fc3) (0x6009c7d41f0)
最接近类似问题的是 http://tinyurl.com/csmy7ay 我使用 JMS,所以问题可能就在那里。
但我的主要问题是我应该如何继续解决这个问题?我很难在 lsof 文件中找到任何有形的内容,这些内容可以帮助我确定这是什么类型的流量以及它们可能在我的代码中的何处创建
最佳答案
我发现问题是什么,有一个维护脚本正在运行,除其他外,它还运行了 jstack 以及这个错误:http://tinyurl.com/c5fdl43 (solaris 中的 java Attach API 也会导致打开文件)。导致文件泄露
关于java - lsof 表明我的 java 进程正在泄漏/devices/pseudo/tl@0 :ticots,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11792379/