在Out of Memory错误上获得堆转储。 现在在Visual VM中分析转储
看到很多byte []数组(占我们8GB堆的77%)
TreeMap$Entry
FieldCacheImpl$SortedDocValues
我们正在考虑转换为启用docValues以确认'对于我们排序的字段,但在我们试验DocValues并需要我们的200M文档索引的重新索引之前,我宁愿确定根本原因 在我们的4个数据中心中。
有关我应该在此堆转储中寻找什么的建议以获得明确的根本原因?
答案 0 :(得分:1)
通过启用docvalues,几乎可以保证事情会有所改善。如果您在进行大型重建索引之前需要一些证据,那么您可以:
编辑您的评论:好吧,如果您要对200M文档进行排序...不确定4GB的堆是否如此巨大。你可以检查你是否正在缓存你不需要/无效的fq(比如现在在具有毫秒精度的日期字段中)。 fqs将在大型索引中占用一些内存。