1

我正在使用 solr 3.6。我每小时使用 DIH aprox 2.6GB 数据进行索引(现在,我使用完全导入,但我也知道增量导入)。我只为 JVM 使用 24GB 的 RAM。solr 实例是一个多核实现(现在有 8 个核心,但会增长),但只有一个核心有大索引(大约 2.6GB)。我观察到每个完整索引后 RAM 使用量都在增加,并且在我不重新启动 servlet 容器(码头)之前永远不会回来。这是来自 New Relic 的数据图像: New Relic 的码头快照

这是solr的问题还是错误?我想问题是垃圾收集。有什么建议吗?谢谢!

4

1 回答 1

1

这完全没问题,没有错误。在java中,如果你为堆分配X数量的ram,jvm会很乐意根据需要使用它,并且可能需要一段时间才能释放它,甚至直到它需要新对象的内存时才释放它。

在有关 java 内存的其他问题中查看更多详细信息

于 2012-06-21T11:19:13.973 回答