我有一個Solr設置。一個主站和兩個從站用於複製。我們在索引中有大約70百萬份文件。該奴隸有16 GB的RAM。 OS和HD 10GB,Solr 6GB。Solr過濾器緩存(FastLRUCache)佔用太多內存並導致內存不足?
但時不時的是,奴隸的內存不足。當我們下載的轉儲文件之前有人出的內存,我們可以看到類:
org.apache.solr.util.ConcurrentLRUCache$Stats @ 0x6eac8fb88
使用高達5Gb的內存。我們廣泛使用過濾器緩存,它有93%的命中率。而這裏的solrconfig.xml中
<property name="filterCache.size" value="2000" />
<property name="filterCache.initialSize" value="1000" />
<property name="filterCache.autowarmCount" value="20" />
<filterCache class="solr.FastLRUCache"
size="${filterCache.size}"
initialSize="${filterCache.initialSize}"
autowarmCount="${filterCache.autowarmCount}"/>
的過濾器高速緩存的XML查詢結果的設置相同,但使用LRUCache,它僅使用有關內存的35MB。配置是否有問題需要解決,或者我只需要更多的內存來存儲過濾器緩存?
將緩存大小減半會使其穩定。由於關於過濾器緩存的解釋,我選擇了這一個作爲答案。但Persimmonium的回答實際上可以做得更好。 – Rowanto