是什么导致netty内存泄漏

是什么导致netty内存泄漏,netty,Netty,我有两个服务器进程,它们通过两个套接字连接进行通信。两个连接仅单向发送消息。(一个用于c->s,一个用于s->c) 服务器和客户端引导程序分别用OioServerSocketChannelFactory/OioClientSocketChannelFactory初始化 经过一些分析,发现这三个类的对象从未释放(在两侧)。我不直接使用这些类,只保留对双通道对象的引用 java.util.concurrent.LinkedTransferQueue$Node 1005351 32171232 o

我有两个服务器进程,它们通过两个套接字连接进行通信。两个连接仅单向发送消息。(一个用于c->s,一个用于s->c)

服务器和客户端引导程序分别用OioServerSocketChannelFactory/OioClientSocketChannelFactory初始化

经过一些分析,发现这三个类的对象从未释放(在两侧)。我不直接使用这些类,只保留对双通道对象的引用

java.util.concurrent.LinkedTransferQueue$Node 1005351 32171232  
org.jboss.netty.channel.Channels$2 1005351 24128424  
org.jboss.netty.channel.socket.ChannelRunnableWrapper 1005351 48256848  
我的代码中泄漏了什么样的对象可能导致这些对象无法释放


更新:环境,jdk7u7,centos6 64位,netty 3.5.3,很有可能这是netty的一个bug。在我将OioServerSocketChannelFactory/OioClientSocketChannelFactory更改为NioServerSocketChannelFactory/NioClientSocketChannelFactory后,问题消失了。

这很可能是netty的一个bug。在我将OioServerSocketChannelFactory/OioClientSocketChannelFactory更改为NioServerSocketChannelFactory/NioClientSocketChannelFactory后,问题消失了。

这是因为Netty Oio impl中的一个错误。该错误已作为3.5.4.Final的一部分修复。因此,请升级到3.5.4.Final或3.5.5.Final

见[1]


[1]

这是因为Netty Oio impl中有一个bug。该错误已作为3.5.4.Final的一部分修复。因此,请升级到3.5.4.Final或3.5.5.Final

见[1]


[1]

连接完成后是否关闭频道?否。在服务器进程关闭之前,连接不会关闭。我所说的客户端也是一个服务器进程,它只是指连接由该服务器启动,而该服务器进程只有一个实例。所以两边的总连接是两个。连接完成后是否关闭通道?否。在服务器进程关闭之前,连接不会关闭。我所说的客户端也是一个服务器进程,它只是指连接由该服务器启动,而该服务器进程只有一个实例。所以两边的总连接是两个。