elasticsearch 节点内存探究

初心未许 15天前   阅读数 33 0

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垃圾回收,这样一切都得到了说明

 


注意:本文归作者所有,未经作者允许,不得转载

全部评论: 0

    我有话说: