長い接続にNetty3.2.4を使用しています。サーバーの起動時に正常に動作しますが、数日後、サーバーにOutOfMemoryErrorが表示される場合があり、詳細ログ情報は次のとおりです。
<Error> <HTTP> <BEA-101017> <[weblogic.servlet.internal.WebAppServletContext@5cd7f9 - appName: 'perbank', name: 'perbank', context-path: '/perbank'] Root cause of ServletException.
java.lang.OutOfMemoryError
at sun.misc.Unsafe.allocateMemory(Native Method)
at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:99)
at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:288)
at org.jboss.netty.channel.socket.nio.SocketSendBufferPool$Preallocation.<init>(SocketSendBufferPool.java:155)
at org.jboss.netty.channel.socket.nio.SocketSendBufferPool.<init>(SocketSendBufferPool.java:42)
Truncated. see log file for complete stacktrace
>
JVMがGCを実行しないか、ネットワークが安定していないために多くのソケット接続が使用されている可能性があります。理由はわかりません。