lucene:如何管理内存分配?

时间:2012-11-27 07:46:13

标签: memory-management lucene

我是lucene的新手。我对lucene的管理记忆感到困惑。

  • Lucene是否需要用户确保它可以使用的内存大小?
  • 或者如果不需要,如何自动管理内存分配 根据lucene的机器内存大小?
呃,这个问题不仅限于lucene,大家可以告诉我一些关于内存管理的一般建议吗?

2 个答案:

答案 0 :(得分:0)

查看IndexWriter配置API:http://lucene.apache.org/core/3_6_0/api/all/org/apache/lucene/index/IndexWriterConfig.html

设置java堆空间当然可以提供帮助,请参阅:http://rimuhosting.com/knowledgebase/linux/java/-Xmx-settings

然后,您的实践和管理索引的政策将产生影响。减少非常昂贵的操作是有帮助的,例如优化,或大批插入或删除等等。

如果你真的在寻找如何管理内存的常规,我会转而引导您使用这个资源:https://stackoverflow.com/faq#dontask(这里只是entire books的几个例子)< / p>

答案 1 :(得分:0)

两个有趣的,与记忆相关的Lucene项目:

  1. MMapDirectory - 使用操作系统缓存将部分lucene索引加载到内存中,以便更快地进行查找。
  2. DEFAULT_RAM_BUFFER_SIZE_MB - 设置内存缓冲区大小,在存储到磁盘之前,写入索引时 - 更大的值通常意味着更好的写入性能(如果您受I / O限制)。