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
我们知道,ES jvm的配置通常是基于jvm.options这个配置文件,打开这个配置文件,我们可以看到:
## GC configuration
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=75
-XX:+UseCMSInitiatingOccupancyOnly
通过查阅资料,这个参数是CMS垃圾收集器,当老年代达到75%的时候,触发CMS垃圾回收,这样一切都得到了说明
来源:oschina
链接:https://my.oschina.net/KasuganoShin/blog/4411009