Elasticsearch(ES)内存占用高,通常不是“泄漏”,而是它的架构和工作机制本身就非常吃内存。下面按「主要原因 → 对应现象 → 解决思路」来说明。
jvm.mem.heap_used_percent 长期 > 75%✅ 解决:
-Xms / -Xmx✅ 解决:
text 字段默认不进 fielddata"fielddata": true
✅ 解决:
keyword 做聚合✅ 解决:
force_mergefrom + size 很大scroll 或 search_after 使用不当✅ 解决:
filter 而不是 query(不评分)重点看:
GET _nodes/stats
GET _cat/nodes?v
GET _cat/fielddata?v
关注:
jvm.mem.heap_usedos.mem.usedindices.fielddata.memory_sizesegments.memoryElasticsearch 内存高,是因为它用内存换性能:
- 堆内存:查询 & 聚合
- OS 缓存:索引读取
- 段 & fielddata:隐性消耗
如果你愿意,可以贴:
我可以直接帮你判断是“正常吃内存”还是“配置有问题”。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。