【发布时间】:2014-04-24 06:50:30
【问题描述】:
我是 netty API 的新手
我正在使用netty3.5.2开发客户端和服务器通信服务器,
但是应用程序总是运行完整的 GC,
我使用 jmap 转储内存和
使用 jhat 显示哪个对象占用了内存。
并且有 6413363 个 DefaultChannelFuture 实例。
有人可以告诉哪个线程创建DefaultChannelFuture 实例
以及它们将如何以及何时发布?
怀疑的前 4 个实例
类org.jboss.netty.channel.DefaultChannelFuture的6413363个实例
类org.jboss.netty.util.internal.LinkedTransferQueue$Node的631971个实例
类org.jboss.netty.buffer.BigEndianHeapChannelBuffer的630934个实例
类org.jboss.netty.channel.DownStreamMessageEvent的630767个实例
【问题讨论】:
-
你能把堆转储上传到某个地方吗?这将有助于了解发生了什么。
-
谢谢,但是转储文件非常大,有 2G 字节,我无法上传它
-
如果您使用的是 Eclipse,请尝试 MAT:eclipse.org/mat 这将为您提供有关泄漏嫌疑人的良好信息。我正在使用 Netty 3.6.6,我没有这样的问题。你能把你自定义的
UpstreamHandlers和DownstreamHandlers的代码贴出来吗?