Solr、OutOfMemoryErrors和堆未释放
我有一个SolrCloud,由三个Solr实例(9Gb堆)组成,每个实例由一个专用主机(12Gb RAM)托管 目前,我们拥有超过1.5亿份文档,而且还在不断增长。有时,我们进行大量查询时,我看到(我认为是)JVM中有一种奇怪的行为: 在平台上,所有实例都会引发Solr、OutOfMemoryErrors和堆未释放,solr,heap-memory,Solr,Heap Memory,我有一个SolrCloud,由三个Solr实例(9Gb堆)组成,每个实例由一个专用主机(12Gb RAM)托管 目前,我们拥有超过1.5亿份文档,而且还在不断增长。有时,我们进行大量查询时,我看到(我认为是)JVM中有一种奇怪的行为: 在平台上,所有实例都会引发OutOfMemoryErrors,当我观察堆上升时的GC时间时,我发现我认为几乎没有GC: 我已将所有实例配置为使用GC1,并遵循了有关配置良好的Solr实例的堆的文档,但我觉得这里确实有问题 有人能帮我理解为什么在进行查询时似乎没
OutOfMemoryErrors
,当我观察堆上升时的GC时间时,我发现我认为几乎没有GC:
我已将所有实例配置为使用GC1,并遵循了有关配置良好的Solr实例的堆的文档,但我觉得这里确实有问题
有人能帮我理解为什么在进行查询时似乎没有发生GC(可能是缓存调优或内存泄漏)
提前感谢:)好吧,万一有人碰到这个问题,我的特殊用途确实需要一些缓存调试 TL;博士: 在我的收藏中调整
过滤器缓存
成功了D
我是如何排除故障的:
int[]
数组。在谷歌上搜索我找到的“solr heap growth FastLRUCache”
因此,现在我们在这个集合中有2.5亿个文档,我所要做的就是将filterCache
设置从其原始512
值调整到一个更低的数字,比如20
左右
希望这对将来的其他人有所帮助