내가 모두 XMS를 구성한SOLR는, 윈도우 OS는 모든 메모리를 내가 모니터링하려면 Visual VM을 엮은 한 다시 시작한 후
업데이트 (초기 메모리)과의 -Xmx (최대 메모리 할당 JVM의 paramters을 소비 톰캣 메모리 사용량. 색인 생성 프로세스가 실행되는 동안 Tomcat의 메모리 사용량은 정상적으로 보입니다. 메모리 소비량은 정의 된 jvm 매개 변수 범위 내에 있습니다. (이미지 참조)
파일 시스템 버퍼가 나머지 메모리를 모두 소비하고있는 것 같습니다. 메모리를 떨어 뜨리지 않습니까? nGram 크기 또는 directoryFactory 변경과 같은이 동작을 처리하는 방법이 있습니까?
나는 SOLR와 톰캣 꽤 새로운 해요,하지만 여기에 우리가 간다 :
OS Windows 서버 2008
- 4 CPU
- 8기가바이트 램
톰캣 서비스 버전 7.0 (64 비트)
- 실행중인 Solr 개
- 없음 옵션 JVM 매개 변수를 설정,하지만 SOLR의 설정 GUI
SOLR 버전 4.5.0을 통해.
- 하나의 코어 인스턴스 (모두 질의 및 인덱싱)
스키마 구성 :
- minGramSize = "2"maxGramSize = "20" 는
- 대부분의 필드는 저장된 = "true"(필수)
Solr config :
- ramBufferSizeMB : 100
- maxIndexingThreads : 8
- directoryFactory : MMapDirectory
- 자동 커밋 : maxdocs 10000, maxtime 15000, opensearcher 거짓
- 캐시 (기본값) :
의 FilterCache INITIALSIZE : 512 크기 : 512 autowarm : 0
queryresultcache initialsize : 512 크기 : 512 autowarm : 0
documentcache initialsize : 512 크기 : 512 autowarm : 0
단일 Solr Core 인스턴스에 문서를 업데이트하고 삽입하기 위해 .Net 서비스 (Solr.Net 기반)를 사용하고 있습니다. Solr에게 보낸 문서의 크기는 에서 1KB에서 최대 8MB까지까지 다양합니다. 하나 또는 여러 개의 스레드를 사용하여 문서를 일괄 전송합니다. Solr 색인의 현재 크기는 약 15GB입니다.
인덱싱 서비스가 3 시간 반 동안 실행되어 Solr에 대한 모든 삽입 및 업데이트를 완료합니다. 인덱싱 프로세스가 실행 중일 때 Tomcat 프로세스 메모리 사용량은 계속 증가하여>7GB RAM까지 증가하며 24 시간 후에도 감소하지 않습니다. Solr Admin에서 Tomcat 또는 Reload Core를 다시 시작하면 메모리가 1GB로 줄어 듭니다. 메모리 누출?
Tomcat에서 Solr 프로세스의 최대 메모리 사용량을 구성 할 수 있습니까? 다른 대안이 있습니까? 모범 사례?
감사
캐시의 설정을 게시 할 수 있습니까? 문제 일 수 있습니다. – Rowanto