绊脚石乃是进身之阶。

ElasticSearch 消耗大量内存在segmentsFixedBitSetMemory

Elasticsearch | 作者 zplinti1 | 发布于2016年04月28日 | 阅读数:3838

我的环境是1.5.2 每台机器32G,分配给ES 16G,发现 segmentsFixedBitSetMemory 每台机器都占用了2G左右,调查发现,每个index都用了20M 的segmentsFixedBitSetMemory,即使某个index只有1个文档,也占用了20M的segmentsFixedBitSetMemory。

进一步调查知道 segmentsFixedBitSetMemory 用于nested 相关的查询。做了个测试:

1. 往ES里插入数据,数据对应的mapping不包含任何nested。结果是segmentsFixedBitSetMemory 一点没被用
2. 往另一个ES里插入同样的数据,数据对应的mapping不包含任何nested。不同在于创建mapping时,多创建一个没有任何(数据)用的mapping,这个mapping里包含nested 字段。结果是每个index的segmentsFixedBitSetMemory 都被消耗了一些,甚至某个index的mappings里并没有包含任何nested mapping,一样也消耗了segmentsFixedBitSetMemory。
 
问题是:
1. 为何index没有任何nested 相关的数据,也会消耗segmentsFixedBitSetMemory?
2. 为何index 没有任何nested field,也会消耗segmentsFixedBitSetMemory?
3. 如何减少segmentsFixedBitSetMemory?
 
已邀请:

helloes

赞同来自:

已知bug
ES1.7.5已经修复了

medcl - 今晚打老虎。

赞同来自:

还在1.x啊,是时候升级了

要回复问题请先登录注册