Elastic搜索空索引的开销是多少?

时间:2016-11-10 13:07:16

标签: java elasticsearch garbage-collection heap heap-memory

我有一个带有单个节点的集群。该机器有8 GB内存,ES过程分配6 GB内存。我在该节点上运行了总共531个分片(522个索引)。大多数分片几乎不包含任何数据。

以下是统计数据:

文件总数:265743

已删除的文件:27069

总大小:136923957字节(130.5 MB)

Fielddata:250632字节

filter_cache:9984字节

段:(总计:82 memory_in_bytes:3479988)

提交的堆是5.9 GB,使用的是5.6 GB。

如果我在集群中创建了更多的索引,那么节点统计数据会执行GC并最终进入OOM。我知道这种配置存在很多故障(只有一个节点,8 GB中有6 GB)。

我想知道内存是如何用完的。总文档,过滤缓存,字段数据几乎没有任何结果,但我仍在耗尽所有内存。

1 个答案:

答案 0 :(得分:0)

根据我对ES 1.x和2.x的个人经验,每个分片开销并不是微不足道的,通常在几MB /分片的范围内。据我了解,这是为索引缓冲区,状态元数据,对lucene对象的引用,缓存对象等保留的内存。

基本上保留一点内存以便能够快速索引并在需要时开始缓存。我不知道在5.x版本中有多少仍然如此。