愚者求师之过,智者从师之长。

es怎么分析内存问题

Elasticsearch | 作者 mingming12138 | 发布于2024年05月21日 | 阅读数:3965

有一个es 内存为32G
不过最近频繁触发熔断,通过es的内存查询 发现内存完全对不上,有很大一部分的缺失,使用MAT分析图片如下,
哪位大佬帮忙看看 具体的内存消耗再哪里 应该怎么优化呢 对于这个堆栈实在是没有分析能力
 
微信图片_20240521174609.png 微信图片_20240521161158.png 微信图片_20240521192150.png
已邀请:

Charele - Cisco4321

赞同来自:

贴下熔断报错信息

mingming12138 - 无敌

赞同来自:

如图,这是这个节点的日志,从前端查询当时就是触发了父级熔断

mingming12138 - 无敌

赞同来自:

补一张jvm监控图,就是那个点的时候出现问题, 同时打得堆栈

Charele - Cisco4321

赞同来自:

这个节点在处理search请求时花了94秒,为什么要这么久?
就因为是内存问题?它还没有报CircuitBreakingException异常呢。
 
先用clear API清一下,让它执行search看看呢
https://www.elastic.co/guide/e ... .html
 
 

mingming12138 - 无敌

赞同来自:

这次打印了下堆栈,红了一会 然后瞬间内存就恢复了,原因未知
之前用es内部的内存统计 cache占用的内存很少很少,清理过 基本没啥用

Charele - Cisco4321

赞同来自:

我想知道,在内存比较充分的情况下,
 
1 这个查询还需不需要94秒这么久的时间
 
2 还会不会报这个错?

yingqi0906

赞同来自:

请问您找到优化堆内存的方法了吗,我这里也有类似的问题。堆内存会越来越高,一开始到75%能降下来,往后会越来越高,最后只能通过重启集群或者节点解决,就好像堆内存因为什么没释放一样。清理cache也没啥效果

要回复问题请先登录注册