0

有谁知道 solr4/lucene 和 JVM 是如何管理内存的?

我们有以下案例。

我们有一个 15GB 的服务器,只运行 SOLR4/Lucene 和 JVM(没有自定义代码)

我们分配了 2GB 的内存,而 JVM 使用了 1.9MB。在某些时候发生了一些事情,我们的内存不足。

然后我们将 JVM 内存增加到 4GB,我们看到逐渐地,JVM 开始尽可能多地使用它。它现在使用分配的 4GB 中的 3GB。

那是正常的JVM内存使用吗?即 JVM 是否总是从分配的空间中尽可能多地使用它?

谢谢你的帮助

4

1 回答 1

0

构面正在使用字段缓存。如果您有很多用于分面的字段(甚至很小),那么很可能最终您会达到内存限制。

如果您有很多查询方面或定义了很多 FQ - 在您的情况下,每个过滤器缓存条目分配 1Mb。您已将 16384 定义为上限,因此您最终也可能会在此处遇到较大的数字。

希望这可以帮助。

于 2013-03-25T05:47:37.950 回答