我有一个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