저는 Java 녀석이 아니지만 Solr을 검색에 사용합니다. 그러나이 문제에 대한 검색을 한 후에 나는 왜 그것이 일어나고 있는지 알 수 없었습니다. Java 힙 공간 충돌 Solr 쿼리
나는 어떤 분류하고 내가 할 수있는 가장 가벼운 설정에 30 백만 기록 - 인덱스를 가지고,하지만 난 몇 쿼리 후 다음과 같은 예외가 있습니다 : 다음SEVERE: java.lang.OutOfMemoryError: Java heap space at org.apache.lucene.index.SegmentReader.createFakeNorms(SegmentReader.java:1117) at org.apache.lucene.index.SegmentReader.fakeNorms(SegmentReader.java:1125) at org.apache.lucene.index.SegmentReader.norms(SegmentReader.java:1140) at org.apache.solr.search.SolrIndexReader.norms(SolrIndexReader.java:282) at org.apache.lucene.search.TermQuery$TermWeight.scorer(TermQuery.java:72) at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:250) at org.apache.lucene.search.Searcher.search(Searcher.java:171) at org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:988) at org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:884) at org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:341) at org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:182) at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:195) at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131) at org.apache.solr.core.SolrCore.execute(SolrCore.java:1317) at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:338) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:241) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:679)
을 나는 바람둥이를 다시 시작하고 도착 몇 차례 다시 떨어질 때까지 일하러 돌아 가야합니다.
나는 (심지어 나는 그것을 원한다) 정렬하고 있지 않으며 특정 인덱스 필드 (대부분이 아닌) 모두를 검색한다.
도와 주시겠습니까? 미리 감사드립니다 :)
가능한 복제본 [Solr/Lucene이 java.lang.OutOfMemoryError로 죽지 않도록하는 방법] (http://stackoverflow.com/questions/2391758/how-to-make-sure-solr-lucene) –
나는 그 주제를보고 그것을 읽었지만, 답변은 주로 FieldCache와 FieldComparator 클래스에서 정렬에 초점을 맞추고 있는데, 그것은 나의 경우가 아니다. 데몬을 시작하기 위해 우분투의 기본 설정을 사용하기 때문에 메모리 제한, 기간 제한 등을 늘리는 가장 좋은 방법은 무엇인지 알아 내려고합니다. 수동으로 수행하고 처음에는 더 좋은 결과를 얻지 못했습니다. –
JVM의 버전, JVM 매개 변수 (특히'-Xmx','-XX : * Size'와 같은 메모리 매개 변수, 가비지 수집기 매개 변수 등)에 대한 힌트를 줄 수 있도록 자세한 정보를 제공해야합니다. '-XX : * GC'). –