netty 堆外内存泄漏(netty-socketio)
- 一次 Connect 和 Disconnect 为一次连接的建立与关闭
- 在 Disconnect 事件前后申请的内存并没有释放(DIRECT_MEMORY_COUNTER 堆外统计字段)
- 断点打在
client.send()
这行, 然后关闭客户端连接,之后直接进入到这个方法,有个逻辑 encoder.allocateBuffer 申请堆外内存 - handleWebsocket :调用 encoder 分配了一段内存,调用完之后,我们的控制台立马就彪了 256B(怀疑肯定是这里申请的内存没有释放)
- encoder.encodePacket() 方法,把 packet 里面一个字段的值转换为一个 char(这里报 NPE)
- 跟踪到 NPE 之前的代码,看看为啥没有赋值进来,给附上值 解决
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论