2012-11-27 41 views
0

我是新來的lucene。我對lucene的管理內存感到困惑。lucene:如何管理內存分配?

  • lucene是否需要用戶來確定它可以使用的內存大小?
  • 或者如果不需要,如何根據lucene中的機器內存大小自動管理內存分配 ?

呃,這個問題並不侷限於Lucene的,每個人都可以告訴我有關內存的一些一般性建議管理?

回答

0

兩個有趣的,記憶相關,Lucene的項目看:

  1. MMapDirectory - 使用操作系統的緩存加載Lucene索引到內存中的部分更快的查找。
  2. DEFAULT_RAM_BUFFER_SIZE_MB - 在寫入索引時,在存入磁盤之前設置內存緩衝區大小 - 較大的值通常意味着更好的寫入性能(如果您是I/O綁定的)。
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(這裏都只是entirebooks幾個例子)