Java NIOに基づいて実装されたhttpサーバがあります。 Javaバージョン1.6.0_20のUbuntu 10.04.2 LTSで実行中 Java(TM)SEランタイム環境(ビルド1.6.0_20-b02) Java HotSpot(TM)サーバVM(ビルド16.3-b01、混合モード)Java NIOによりファイル記述子のリークが発生する
ただし、ファイルディスクリプタはリークし、すべてがUNIXドメインソケットです。
"netstat -anp"コマンドを使用すると、プロセスが2つのunixドメインソケットのみを開くことがわかります。 しかし、lsof -pを使用すると、unixドメインソケットであり、netstatで見つけられたのと同じデバイス値とノード値を持つ膨大な量のファイル記述子があることがわかります。
私はコードをチェックしており、すべてのSocketChannelが正しく閉じられています。
Sun JDKのバグですか? どうすれば修正できますか?
Java 6アップデート26を試しましたか? JVMバグの場合、バグであることを示すように修正されている可能性があります。 –
@James UnixドメインソケットでJavaを使用するNIO APIはどれですか? XNIOのような特定のAPIを使用していますか?私はUnix Domain SocketsとNIOで動作するものを探しています。ありがとう。 – jbx