2012-11-02 50 views
1

我使用Netty3.2.4長連接,當服務器啓動後,它的工作原理正確,但幾天後勒特,服務器可能會出現的OutOfMemoryError,以及詳細的日誌信息來源是:時allocateMemory,Netty中顯示的OutOfMemoryError

<Error> <HTTP> <BEA-101017> <[[email protected] - 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,或者可能使用了許多套接字連接,因爲網絡不穩定,不知道爲什麼。

回答

1

我會升級到最新的3.5.9.Final,看看問題是否通過this fix解決。