0

UnixのJbossでJavaEEアプリを実行していて、数日後に「開いているファイルが多すぎる」ことに気づきました。リークしているものを特定しましたが、実際に何であるか、どのように見つけるかがわかりません。リークしているコードの一部

lsofの分析では、これらの行がゆっくりと増加していることが示されています。

java    25222  user  220u  unix    105,208835    0t465959  55050244 /devices/pseudo/tl@0:ticots->(socketpair: 0x32fc3) (0x6009c7d41f0)

同様の問題に最も近いのはhttp://tinyurl.com/csmy7ay です。私はJMSを使用しているので、問題はそこにある可能性があります。

しかし、私の主な質問は、これを修正するためにどのように進むべきかということです。lsofファイルで、これがどのような種類のトラフィックであり、コード内のどこでトラフィックが作成されるかを判断するのに役立つ可能性のある具体的なものを見つけるのに苦労しています。

4

1 に答える 1

1

私は問題が何であるかを発見しました。とりわけ、このバグと一緒にjstackを実行するメンテナンススクリプトが実行されていました: http://tinyurl.com/c5fdl43 (solarisのJavaアタッチAPIにより、ファイルが開かれます)。ファイルリークを引き起こした

于 2012-09-02T21:26:14.820 に答える