LEAK: ByteBuf.release() was not called before it's garbage-collected. Enable advanced leak reporting

原创 2016年08月31日 16:03:01

问题描述:

LEAK: ByteBuf.release() was not called before it's garbage-collected. Enable advanced leak reporting to find out where the leak occurred. To enable advanced leak reporting, specify the JVM option '-Dio.netty.leakDetectionLevel=advanced' or call ResourceLeakDetector.setLevel()

ByteBuf是一个引用计数对象,这个对象必须显示地 调用release()方法来释放。

解决方法:

@Override
 public void channelRead(ChannelHandlerContext ctx, Object msg) {
 try {
 // Do something with msg
} finally {
 ReferenceCountUtil.release(msg);
 }
 }
版权声明:本文为博主原创文章,未经博主允许不得转载。

Netty ByteBuf 释放注意事项

ByteBuf 是Netty中主要用来数据byte[]的封装类,主要分为Heap ByteBuf 和 Direct ByteBuf。为了减少内存的分配回收以及产生的内存碎片,Netty提供了 ...
  • u012807459
  • u012807459
  • 2017年08月16日 18:40
  • 1194

Netty之有效规避内存泄漏

有过痛苦的经历,特别能写出深刻的文章 —— 凯尔文. 肖 直接内存是IO框架的绝配,但直接内存的分配销毁不易,所以使用内存池能大幅提高性能,也告别了频繁的GC。但,要重新培养被Java的自动垃圾回收...
  • LANGZI7758521
  • LANGZI7758521
  • 2016年11月07日 16:44
  • 323

自顶向下深入分析Netty(九)--引用计数

在前文中介绍了ByteBuf的概念和使用,本文进一步讲解背后的引用计数特性。 9.3 引用计数 服务端的网络通讯应用在处理一个客户端的请求时,基本都需要创建一个缓冲区ByteBuf,直到将...
  • yexin94822739
  • yexin94822739
  • 2017年06月16日 17:15
  • 133

netty-AbstractReferenceCounted用法测试例子

AbstractReferenceCounted
  • nmgrd
  • nmgrd
  • 2017年06月16日 17:43
  • 252

netty5学习笔记-内存泄露检测

netty中用到内存泄露检测的地方主要有:1、CompositeByteBuf;2、HashedWheelTimer;3、继承AbstractByteBufAllocator的几个类。 下面我们看看,...
  • youaremoon
  • youaremoon
  • 2015年08月23日 16:49
  • 3505

netty5 HTTP协议栈浅析与实践

http://www.cnblogs.com/cyfonly/p/5616493.html 阅读目录 1. 写在前面的话   1.1. 关于netty exa...
  • zdy0_2004
  • zdy0_2004
  • 2016年07月31日 02:05
  • 736

Netty学习之旅----源码分析Netty内存泄漏检测

本文深入浅出的讲解了Netty内存泄漏检测的基本实现原理。主要利用虚引用跟踪ByteBuf的对象的回收,并在垃圾回收后检测ByteBuf的release方法是否有执行过,也就是DefaultResou...
  • prestigeding
  • prestigeding
  • 2017年01月08日 12:56
  • 2088

内存泄漏检测利器 - Visual Leak Detector

Visual Leak Detector是一款用于Visual C++的内存泄露检测工具,是个开源项目。相比较其它的内存泄露检测工具(如Purify, BoundsChecker等),它具有如下特点:...
  • jxxfqyy
  • jxxfqyy
  • 2011年10月21日 14:17
  • 1319

Netty4源码分析之内存管理

本文通过一段段源码注释,加上一些说明,简单的描述Netty4跟踪内存泄露的设计方法. Netty使用装饰器模式,为ByteBuf增加内存跟踪记录功能.利用虚引用跟踪资源被VM垃圾回收的情况,加上Byt...
  • u012631045
  • u012631045
  • 2014年02月16日 22:49
  • 3925

Netty内存泄露检测原理分析

引用计数 netty中使用引用计数机制来管理资源,当一个实现ReferenceCounted的对象实例化时,引用计数置1. 客户代码中需要保持一个该对象的引用时需要调用接口的retain方法将计数...
  • derek518
  • derek518
  • 2015年04月16日 11:50
  • 2588
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LEAK: ByteBuf.release() was not called before it's garbage-collected. Enable advanced leak reporting
举报原因:
原因补充:

(最多只允许输入30个字)