官方推荐一个ES节点最好是分配当前机器最大内存的50%,比如机器内存是16g,就分配8g给ES:-Xmx8g。
-Xmx8g
剩下的8g内存并不是说就闲置了,ES会拿机器剩余的内存来优化自身的查询效率。也就是说,并不是一味将最大内存设置很大就是最优解。
随着ES数据量的增加,分段(segment)数量会越来越多,占用的内存也会逐渐增加,可以通过以下方式来释放分段占用的内存: