Solr 설정이 있습니다. 복제를 위해 하나의 마스터와 두 개의 슬레이브. 우리는 약 70 만 개의 문서를 색인에 포함하고 있습니다. 슬레이브에는 16GB의 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