2022年3月16日
netty内存泄漏,spring-gateway 内存溢出
主要表现是直接内存溢出,在jmeter测试过程中,jvm消耗逐步增加,得不到回收。
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()
Netty.docs: Reference counted objects
out direct memory
处理,升级spring-gateway,比如2.2.7版本实测没有泄漏问题。
中间走了弯路,考虑了修改jvm参数等,查看可能泄漏的代码,如threadLocal等,不得要领,升级后问题得到解决。