1

我使用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,也可能是因为网络不稳定,使用了很多 socket 连接,不知道为什么。

4

1 回答 1

1

我将升级到最新的 3.5.9.Final 并查看此修复程序是否解决了问题。

于 2012-11-03T16:41:17.540 回答