背景:我们的系统在早上有一个高峰点,当我们收到大量的搜索、读取和写入请求时,可能会持续长达 10 个小时。
用例:我想在高峰时间之前强制进行垃圾收集。为此,我正在更新父断路器的集群设置
indices.breaker.total.limit: "55%"
参考
问题:但即使在 JVM 从 53% 增长到 56% 之后,正如您在下面的节点统计信息中看到的那样,JVM 也没有被垃圾收集。
获取 /_nodes/stats/jvm
"jvm": {
"timestamp": 1554375659658,
"uptime_in_millis": 10960191290,
"mem": {
"heap_used_in_bytes": 601959488,
"heap_used_percent": 56,
"heap_committed_in_bytes": 1065025536,
"heap_max_in_bytes": 1065025536,
"non_heap_used_in_bytes": 243082744,
"non_heap_committed_in_bytes": 251510784,
"pools": {
"young": {
"used_in_bytes": 11959328,
"max_in_bytes": 69795840,
"peak_used_in_bytes": 69795840,
"peak_max_in_bytes": 69795840
},
"survivor": {
"used_in_bytes": 1260248,
"max_in_bytes": 8716288,
"peak_used_in_bytes": 8716288,
"peak_max_in_bytes": 8716288
},
"old": {
"used_in_bytes": 588739912,
"max_in_bytes": 986513408,
"peak_used_in_bytes": 739896688,
"peak_max_in_bytes": 986513408
}
}
}
我不知道这是否是 AWS ElasticSearch 服务或核心 ES 结束时的问题。如果有任何其他方法可以强制进行垃圾收集,我可以试试。