elasticsearch 节点内存探究

一曲冷凌霜 提交于 2020-08-10 15:34:07

1. 背景

实际使用过程中,发现ES内存使用量往往到达一定百分比后(通常比75%高一点),才开始下降,之后内存上升到这个值后,又下降,呈现一种波浪状态,内存检测API如下所示:

GET /_nodes/stats/jvm

2. 调研

1、查看ES的中文权威指南,有这样一段描述

https://www.elastic.co/guide/cn/elasticsearch/guide/current/_monitoring_individual_nodes.html

可见,这里75%是一个很重要临界点,触发GC

2、后面阅读ES官方服务说明文档验证了上述现象

https://www.elastic.co/guide/en/cloud/current/ec-metrics-memory-pressure.html

The classic JVM sawtooth pattern that shows memory usage

我们知道,ES jvm的配置通常是基于jvm.options这个配置文件,打开这个配置文件,我们可以看到:

## GC configuration

-XX:+UseConcMarkSweepGC

-XX:CMSInitiatingOccupancyFraction=75

-XX:+UseCMSInitiatingOccupancyOnly

通过查阅资料,这个参数是CMS垃圾收集器,当老年代达到75%的时候,触发CMS垃圾回收,这样一切都得到了说明

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!