关于 MpscAtomicArrayQueue 的 Netty 内存泄漏
Posted
技术标签:
【中文标题】关于 MpscAtomicArrayQueue 的 Netty 内存泄漏【英文标题】:Netty Memory Leak about MpscAtomicArrayQueue 【发布时间】:2018-06-17 12:42:34 【问题描述】:图片:memory leak about MpscAtomicArrayQueue
环境:ElasticSearch 5.5.1
不知道为什么 MpscAtomicArrayQueue 的对象会占用这么多内存,导致 OutOfMemory 发生?
请帮帮我
谢谢!
【问题讨论】:
【参考方案1】:在我看来,内存使用是由分配器的每个线程缓存引起的。如何在弹性搜索中配置分配器是我的知识。也就是说,通常 netty 还允许您通过系统属性来做到这一点:
https://github.com/netty/netty/blob/4.1/buffer/src/main/java/io/netty/buffer/PooledByteBufAllocator.java#L102
【讨论】:
谢谢,我以为你是对的,这里有 13458 个 ElasticSearch 客户端线程。 哎哟......这很多:( @NormanMaurer 假设每个线程 64 个字节,13458 个线程消耗了大约 800 kB。有问题吗?以上是关于关于 MpscAtomicArrayQueue 的 Netty 内存泄漏的主要内容,如果未能解决你的问题,请参考以下文章