我有一个2节点的ES集群(Elastic Cloud),堆大小为60 ES。下面是我的索引和分配的分片数量。
green open prod-master-account 6 0 6871735 99067 4.9gb 4.9gb
green open prod-master-categories 1 1 221 6 3.5mb 1.7mb
green open prod-v1-apac 4 1 10123830 1405510 11.4gb 5.6gb
green open prod-v1-emea 9 1 28608447 2405254 30.6gb 15gb
green open prod-v1-global 10 1 94955647 12548946 128.1gb 61.2gb
green open prod-v1-latam 2 1 4398361 471038 4.7gb 2.3gb
green open prod-v1-noram 9 1 51933712 6188480 60.1gb 29.2gbJVM内存超过60%。我想将这个集群降级到一个较小的堆大小。但是,由于JVM内存过高,它每次都会失败,并导致断路器。
我想知道为什么JVM内存仍然很高?如何保持JVM内存较低?我在切分方面做错了什么吗?
正如指南所说的那样,每GB保留20个分片,看看我的配置,它在这些值之下。如何将此集群降级到较小的堆大小的集群?
非常感谢!
发布于 2020-11-13 13:29:59
对于ES进程或任何其他JVM进程,根本不推荐60 GB的堆大小,因为超过32 GB,JVM不使用压缩对象指针(压缩的oops),因此您不会获得最佳性能。
有关更多信息,请参阅ES official doc on heap setting。
您可以尝试在下面优化ES堆的大小
https://stackoverflow.com/questions/64815640
复制相似问题