SysAdmin已经确定了Xen CPU中断的峰值,不知道是什么原因引起的。 Xen virq_timer在崩溃前大约10分钟中断了尖峰,这就是我们如何确定崩溃即将来临。
一旦xen cpu在spcat死亡后10分钟内中断峰值,就会立即死掉。
运行普通值设置。它是索引博客类型的内容。这是我反复看到的错误:
SEVERE:java.lang.OutOfMemoryError:Java堆空间 在org.apache.lucene.search.ExactPhraseScorer。(ExactPhraseScorer.java:37) 在org.apache.lucene.search.PhraseQuery $ PhraseWeight.scorer(PhraseQuery.java:251) at org.apache.lucene.search.BooleanQuery $ BooleanWeight.scorer(BooleanQuery.java:298) 在org.apache.lucene.search.FilteredQuery.getFilteredScorer(FilteredQuery.java:149) 在org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:577) 在org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:364) at org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:1296) 在org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1176) 在org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:375) 在org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:394)
SEVERE:java.lang.OutOfMemoryError:Java堆空间 at java.util.Arrays.copyOf(Arrays.java:2894) at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:117) at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:407) at java.lang.StringBuffer.append(StringBuffer.java:241) 在java.util.logging.SimpleFormatter.format(SimpleFormatter.java:88) 在org.apache.juli.FileHandler.publish(FileHandler.java:198) 在java.util.logging.Logger.log(Logger.java:476) at org.slf4j.impl.JDK14LoggerAdapter.log(JDK14LoggerAdapter.java:588) 在org.slf4j.impl.JDK14LoggerAdapter.info(JDK14LoggerAdapter.java:285)
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:636)
2013年5月16日上午1:04:46 org.apache.solr.common.SolrException日志 SEVERE:java.lang.OutOfMemoryError:Java堆空间 在org.apache.lucene.search.ExactPhraseScorer。(ExactPhraseScorer.java:38) 在org.apache.lucene.search.PhraseQuery $ PhraseWeight.scorer(PhraseQuery.java:251) at org.apache.lucene.search.BooleanQuery $ BooleanWeight.scorer(BooleanQuery.java:298) 在org.apache.lucene.search.FilteredQuery.getFilteredScorer(FilteredQuery.java:149) 在org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:577) 在org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:364) at org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:1296) 在org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1176) 在org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:375)
设置:
export JAVA_OPTS="-Xms1024m -Xmx4096m"
答案 0 :(得分:0)
也可能是您现在向服务器发送不同类型的查询,需要更多内存来处理。 Java不按需分配内存,而是在应用程序启动时获取为它提供的内容,如果它耗尽,那么它只会与OutOfMemoryError崩溃。应用程序可能正常运行,直到索引大小增长并且查询消耗足够的内存来导致问题。
默认的Java堆大小设置(256Mb?)非常低,无法运行Solr。根据我的经验,1-2Gb是有用的最小值,或者Solr会经常使用。您可以从管理界面观察Solr内存使用情况,并相应地调整您的设置以匹配特定索引/查询类型的内存要求。
您可以通过在启动时提供Solr -Xmx1024m参数来增加内存分配,或者将该设置添加到所有Java应用程序的JAVA_OPTS环境变量中。