Memory leaks 在网状池块中积累的内存

Memory leaks 在网状池块中积累的内存,memory-leaks,netty,Memory Leaks,Netty,大家好,我正试图理解为什么我的应用程序内存消耗如此之大,所以我用visualjvm下载了一个heapdump,然后用EclipseMat分析了它。它发现了以下问题: 由“jdk.internal.loader.ClassLoaders$AppClassLoader@0x7f04ba5b0”加载的“io.netty.buffer.PoolChunk”的一个实例占用16793832(32.78%)字节。内存累积在“.”加载的“byte[]”的一个实例中。 有谁能给我一些关于如何解决这个问题的建议吗?

大家好,我正试图理解为什么我的应用程序内存消耗如此之大,所以我用visualjvm下载了一个heapdump,然后用EclipseMat分析了它。它发现了以下问题:

由“jdk.internal.loader.ClassLoaders$AppClassLoader@0x7f04ba5b0”加载的“io.netty.buffer.PoolChunk”的一个实例占用16793832(32.78%)字节。内存累积在“.”加载的“byte[]”的一个实例中。

有谁能给我一些关于如何解决这个问题的建议吗?要查找和搜索哪些数据

我的第一次尝试是设置-Dio.netty.allocator.type=unmooled param,这消除了与字节相关的这个问题,但引入了与类装入器相关的其他2个问题


默认情况下,Netty使用一个池化的
ByteBufAllocator
,它以“块”的形式分配内存。这就是你在这里看到的。所以它基本上是分配一个块,然后在需要内存时从这个块中取出内存。一旦无法填满内存,就需要分配一个新块,依此类推。

您是否能够解决此问题?