我有一个单节点弹性搜索集群。它通过 Rancher(在 k8s 上运行 fluentd pod 来收集日志)从 Kubernetes 集群接收日志。我在 centos 7 上将 elasticsearch 作为服务运行,并提供了 12 GB 的 JVM 堆空间,VM 有 23 GB 的 RAM。但是弹性搜索仍然使用 VM 的所有 RAM,并在启动后因堆空间错误或 OutOFMemory 错误而不断关闭。
如果它几乎完全填满,我们可以设置一些配置来清除内存/堆以防止崩溃吗?
- 为什么即使只分配了 12 GB 的堆空间,elasticsearch 也会使用 VM 的所有 RAM?
- 为什么停止服务需要 15-20 分钟?
- 我怎样才能减少它的内存消耗?
- 如何减少弹性搜索传入数据的负载?
ps提前谢谢。