我知道我可以传递参数给java来限制使用的内存量,但是这不会改变应用程序的行为。 (假设我会得到一个内存不足的例外或类似的)
我想限制solr使用的内存量。 我假设这是一样简单的设置一个单一的configuration选项,但谷歌search到目前为止没有结果。
有任何想法吗? 谢谢!
编辑:我只是想说明,我明白内存使用率和执行速度之间会有一个折衷。 在这种情况下,我愿意牺牲速度来减less内存占用。 我也明白,solr可能不支持调整这种权衡的选项。
Solr的内存限制是JVM的堆内存限制。 没有单独的configuration。
这里的注释表明,Solr的内存使用情况确实会超出JVM的限制,但它会尝试通过释放OutOfMemoryError时释放堆空间来“做正确的”。
本页面提供了大量关于如何减less/优化Solr内存消耗的有用信息。
http://wiki.apache.org/solr/SolrPerformanceFactors
但是我会从这个文件中指出一件重要的事情:
索引字段的数量大大增加了以下几点:
- 索引过程中的内存使用情况
- 段合并时间
- 优化时间
- 索引大小
仔细检查,以确保您不会索引在schema.xml文件中永远不会search的字段。
另外,在该文档中,请查看页面底部的“影响内存使用的因素”。
希望这可以帮助,
-C