【发布时间】:2013-05-17 23:05:43
【问题描述】:
SysAdmin 发现 Xen CPU 中断出现峰值,不知道是什么原因造成的。 Xen virq_timer 在崩溃前大约 10 分钟中断峰值,这就是我们识别崩溃是否即将到来的方式。
一旦 xen cpu 在峰值 tomcat 死后 10 分钟中断峰值。
运行普通值设置。它正在索引博客文章类型的内容。这是我反复看到的错误:
严重:java.lang.OutOfMemoryError:Java 堆空间 在 org.apache.lucene.search.ExactPhraseScorer.(ExactPhraseScorer.java:37) 在 org.apache.lucene.search.PhraseQuery$PhraseWeight.scorer(PhraseQuery.java:251) 在 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) 在 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)
严重:java.lang.OutOfMemoryError:Java 堆空间 在 java.util.Arrays.copyOf(Arrays.java:2894) 在 java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:117) 在 java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:407) 在 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) 在 org.slf4j.impl.JDK14LoggerAdapter.log(JDK14LoggerAdapter.java:588) 在 org.slf4j.impl.JDK14LoggerAdapter.info(JDK14LoggerAdapter.java:285)
在 org.apache.solr.core.SolrCore.execute(SolrCore.java:1386)
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 日志 严重:java.lang.OutOfMemoryError:Java 堆空间 在 org.apache.lucene.search.ExactPhraseScorer.(ExactPhraseScorer.java:38) 在 org.apache.lucene.search.PhraseQuery$PhraseWeight.scorer(PhraseQuery.java:251) 在 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) 在 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)
设置:
export JAVA_OPTS="-Xms1024m -Xmx4096m"
【问题讨论】:
-
你只是用完了堆空间。你的
-Xmxsetting是什么? -
添加设置,见上文。
-
您在 Solr 中保存的文档数量是多少?
-
2000 个文档。我的团队有一个偷偷摸摸的怀疑是我发送给 solr 的术语数量。我在 solr 服务器的帖子中看到了多达 95 到 106 个术语。无法证明这一点,但我的团队认为这就是违规者。
-
这里是这个问题的解决方案:stackoverflow.com/questions/4887142/…