elasticsearch JVM缓冲池只会增长
我在生产中使用ElasticSearch,并使用普罗米修斯来获取指标。看这些图,我可以看到jvm\u buffer\u pool度量值在最终崩溃之前一直在增长elasticsearch JVM缓冲池只会增长,elasticsearch,jvm,elasticsearch,Jvm,我在生产中使用ElasticSearch,并使用普罗米修斯来获取指标。看这些图,我可以看到jvm\u buffer\u pool度量值在最终崩溃之前一直在增长 据我所知,缓冲池在GC之外,但是如何清理它呢?JVM有直接的ByteBuffers,它们位于堆对象上,代理堆外内存。即使堆外内存为1GB,ByteBuffer也是数十个字节。当GC清理这个代理对象时,因为它不再被引用,堆外内存也会被释放 如果堆外内存没有被释放,这是因为 它在堆上,代理被保留。i、 e.需要内存 ElasticSearc
据我所知,缓冲池在GC之外,但是如何清理它呢?JVM有直接的ByteBuffers,它们位于堆对象上,代理堆外内存。即使堆外内存为1GB,ByteBuffer也是数十个字节。当GC清理这个代理对象时,因为它不再被引用,堆外内存也会被释放 如果堆外内存没有被释放,这是因为
- 它在堆上,代理被保留。i、 e.需要内存
- ElasticSearch正在直接分配堆外内存,库发生泄漏(不太可能)
我会尝试使用更直接的记忆,看看这是否有帮助<代码>-XX:MaxDirectMemorySize=64g或您可以使用的任何工具。关闭重索引时,此指标会下降。所以我假设内存是必需的!我们决定扩展集群,以便提供更多内存。非常感谢。