Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何防止Solr在提取Word文档时内存不足?_Java_Solr_Out Of Memory_Solrj - Fatal编程技术网

Java 如何防止Solr在提取Word文档时内存不足?

Java 如何防止Solr在提取Word文档时内存不足?,java,solr,out-of-memory,solrj,Java,Solr,Out Of Memory,Solrj,我正在使用更新/提取请求处理程序上载一个9MB word文档文件。我用solrj来做这个。但我在同一个文件上不断出现内存不足错误。我正在使用自动提交,但我不认为这是一个问题,因为即使我关闭它,它也会失败 由于采用了gc,cpu使用率上升到95%,整个过程大约需要4.4Gb 有人知道如何防止这个错误吗 以下是错误: <date>2012-12-06Txx:xx:xx</date> <millis>1354786975705</millis>

我正在使用更新/提取请求处理程序上载一个9MB word文档文件。我用solrj来做这个。但我在同一个文件上不断出现内存不足错误。我正在使用自动提交,但我不认为这是一个问题,因为即使我关闭它,它也会失败

由于采用了gc,cpu使用率上升到95%,整个过程大约需要4.4Gb

有人知道如何防止这个错误吗

以下是错误:

  <date>2012-12-06Txx:xx:xx</date>
  <millis>1354786975705</millis>
  <sequence>157</sequence>
  <logger>org.apache.solr.servlet.SolrDispatchFilter</logger>
  <level>SEVERE</level>
  <class>org.apache.solr.common.SolrException</class>
  <method>log</method>
  <thread>16</thread>
  <message>null:java.lang.RuntimeException: java.lang.OutOfMemoryError: GC overhead limit exceeded
    at org.apache.solr.servlet.SolrDispatchFilter.sendError(SolrDispatchFilter.java:469)
    at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:297)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1337)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:484)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
    at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
    at org.eclipse.jetty.server.Server.handle(Server.java:351)
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454)
    at org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:47)
    at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:900)
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:954)
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:952)
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
    at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:66)
    at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:254)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:534)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
    at java.util.Arrays.copyOfRange(Unknown Source)
    at java.lang.String.&lt;init&gt;(Unknown Source)
    at org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseCdataLiteral(PiccoloLexer.java:3027)
    at org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseQuotedTagValue(PiccoloLexer.java:2936)
    at org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseAttributesNS(PiccoloLexer.java:1754)
    at org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseOpenTagNS(PiccoloLexer.java:1521)
    at org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseTagNS(PiccoloLexer.java:1362)
    at org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseXMLNS(PiccoloLexer.java:1293)
    at org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseXML(PiccoloLexer.java:1261)
    at org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.yylex(PiccoloLexer.java:4808)
    at org.apache.xmlbeans.impl.piccolo.xml.Piccolo.yylex(Piccolo.java:1290)
    at org.apache.xmlbeans.impl.piccolo.xml.Piccolo.yyparse(Piccolo.java:1400)
    at org.apache.xmlbeans.impl.piccolo.xml.Piccolo.parse(Piccolo.java:714)
    at org.apache.xmlbeans.impl.store.Locale$SaxLoader.load(Locale.java:3439)
    at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1270)
    at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1257)
    at org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.parse(SchemaTypeLoaderBase.java:345)
    at org.openxmlformats.schemas.wordprocessingml.x2006.main.DocumentDocument$Factory.parse(Unknown Source)
    at org.apache.poi.xwpf.usermodel.XWPFDocument.onDocumentRead(XWPFDocument.java:134)
    at org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:159)
    at org.apache.poi.xwpf.usermodel.XWPFDocument.&lt;init&gt;(XWPFDocument.java:116)
    at org.apache.poi.xwpf.extractor.XWPFWordExtractor.&lt;init&gt;(XWPFWordExtractor.java:53)
    at org.apache.poi.extractor.ExtractorFactory.createExtractor(ExtractorFactory.java:180)
    at org.apache.tika.parser.microsoft.ooxml.OOXMLExtractorFactory.parse(OOXMLExtractorFactory.java:87)
    at org.apache.tika.parser.microsoft.ooxml.OOXMLParser.parse(OOXMLParser.java:82)
    at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:242)
    at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:242)
    at org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:120)
    at org.apache.solr.handler.extraction.ExtractingDocumentLoader.load(ExtractingDocumentLoader.java:219)
    at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:74)
    at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
    at org.apache.solr.core.RequestHandlers$LazyRequestHandlerWrapper.handleRequest(RequestHandlers.java:240)
2012-12-06tx:xx:xx
1354786975705
157
org.apache.solr.servlet.SolrDispatchFilter
严峻的
org.apache.solr.common.SolrException
日志
16
null:java.lang.RuntimeException:java.lang.OutOfMemoryError:超出GC开销限制
位于org.apache.solr.servlet.SolrDispatchFilter.senderro(SolrDispatchFilter.java:469)
位于org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:297)
位于org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1337)
位于org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:484)
位于org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
位于org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
位于org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233)
位于org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065)
位于org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413)
位于org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
位于org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999)
位于org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
位于org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
位于org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
位于org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
位于org.eclipse.jetty.server.server.handle(server.java:351)
位于org.eclipse.jetty.server.AbstractHttpConnection.HandlerRequest(AbstractHttpConnection.java:454)
位于org.eclipse.jetty.server.blockingttpconnection.handleRequest(blockingttpconnection.java:47)
位于org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:900)
位于org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:954)
http.HttpParser.parseNext(HttpParser.java:952)
http.HttpParser.parseAvailable(HttpParser.java:235)
位于org.eclipse.jetty.server.blockingttpconnection.handle(blockingttpconnection.java:66)
位于org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:254)
位于org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599)
位于org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:534)
位于java.lang.Thread.run(未知源)
原因:java.lang.OutOfMemoryError:超出GC开销限制
位于java.util.Arrays.copyOfRange(未知源)
位于java.lang.String.init(未知源)
位于org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseCdataLiteral(PiccoloLexer.java:3027)
位于org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseQuotedTagValue(PiccoloLexer.java:2936)
位于org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseAttributesNS(PiccoloLexer.java:1754)
位于org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseOpenTagNS(PiccoloLexer.java:1521)
位于org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseTagNS(PiccoloLexer.java:1362)
位于org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseXMLNS(PiccoloLexer.java:1293)
位于org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseXML(PiccoloLexer.java:1261)
位于org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.yylex(PiccoloLexer.java:4808)
位于org.apache.xmlbeans.impl.piccolo.xml.piccolo.yylex(piccolo.java:1290)
请访问org.apache.xmlbeans.impl.piccolo.xml.piccolo.yyprase(piccolo.java:1400)
位于org.apache.xmlbeans.impl.piccolo.xml.piccolo.parse(piccolo.java:714)
位于org.apache.xmlbeans.impl.store.Locale$SaxLoader.load(Locale.java:3439)
位于org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1270)
位于org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1257)
在org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.parse(SchemaTypeLoaderBase.java:345)
位于org.openxmlformats.schemas.wordprocessingml.x2006.main.DocumentDocument$Factory.parse(未知源)
位于org.apache.poi.xwpf.usermodel.XWPFDocument.onDocumentRead(XWPFDocument.java:134)
位于org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:159)
位于org.apache.poi.xwpf.usermodel.XWPFDocument.init(XWPFDocument.java:116)
位于org.apache.poi.xwpf.extractor.XWPFWordExtractor.init(XWPFWordExtractor.java:53)
位于org.apache.poi.extractor.ExtractorFactory.createExtractor(ExtractorFactory.java:180)
位于org.apache.tika.parser.microsoft.ooxml.OOXMLExtractorFactory.parse(OOXMLExtractorFactory.java:87)
位于org.apache.tika.parser.microsoft.ooxml.OOXMLParser.parse(OOXMLParser.java:82)
位于org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:242)
位于org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:242)
位于org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:120)
位于org.apache.solr.handler.extraction.ExtractingDocumentLoader.load(ExtractingDocumentLoader.java:219)
位于org.apache.solr.handler.ContentStreamHandlerBase.HandlerRequestBody(ContentStreamHandlerBase.java:74)
位于org.apache.solr.handler.RequestHandlerBase.HandlerRequest(RequestHandlerBase.java:129)
位于org.apache.solr.core.RequestHandlers$LazyRequestHandlerWrapper.HandlerRequest(RequestHandlers.java:240)
运行
System.gc()java -Xmx1024m -jar yourfile.jar