solr - пространство кучи Java из памяти - PullRequest
14 голосов
/ 10 марта 2011

Может ли кто-нибудь помочь мне выяснить причину ошибки в tomcat. Я использую Solr в нем. запуск работает нормально. позже я подниму эту ошибку. после перезапуска работает нормально. пожалуйста, помогите мне выяснить ошибку.

7 марта 2011 г. 10:36:47 org.apache.solr.common.SolrException log SEVERE: java.lang.RuntimeException: java.lang.OutOfMemoryError: Java куча места на org.apache.solr.core.SolrCore.getSearcher (SolrCore.java:1068) в org.apache.solr.update.DirectUpdateHandler2.commit (DirectUpdateHandler2.java:418) в org.apache.solr.update.processor.RunUpdateProcessor.processCommit (RunUpdateProcessorFactory.java:85) в org.apache.solr.handler.XMLLoader.processUpdate (XMLLoader.java:169) в org.apache.solr.handler.XMLLoader.load (XMLLoader.java:69) в org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody (ContentStreamHandlerBase.java:54) в org.apache.solr.handler.RequestHandlerBase.handleRequest (RequestHandlerBase.java:131) в org.apache.solr.core.SolrCore.execute (SolrCore.java:1316) в org.apache.solr.servlet.SolrDispatchFilter.execute (SolrDispatchFilter.java:338) в org.apache.solr.servlet.SolrDispatchFilter.doFilter (SolrDispatchFilter.java:241) в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:235) в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:206) в org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:228) в org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:175) в org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:128) в org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:105) в org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:109) в org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:212) в org.apache.coyote.http11.Http11Processor.process (Http11Processor.java:844) в org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process (Http11Protocol.java:634) в org.apache.tomcat.util.net.JIoEndpoint $ Worker.run (JIoEndpoint.java:445) at java.lang.Thread.run (Неизвестный источник) Причина: java.lang.OutOfMemoryError: пространство кучи Java

Ответы [ 4 ]

17 голосов
/ 10 марта 2011

Попробуйте увеличить объем памяти

Либо установите переменную среды JAVA_OPTS="-Xms256m -Xmx500m", что означает, что начальный размер кучи составляет 256 МБ, максимум 512 МБ.Или отредактируйте ваш catalina.bat или .sh и добавьте туда эту строку.

Вы должны поэкспериментировать с этими значениями, несколько недель назад у меня была работа с индексатором SOLR, требовалось около 2 ГБ данных, требовалось 700 МБ кучи..

3 голосов
/ 10 марта 2011

Вы можете попытаться уменьшить параметр соединения JDBC по умолчанию batchSize в своем определении источника данных.
DataImportHandler предназначен для потоковой передачи строки один за другим.Он передает значение размера выборки (по умолчанию: 500) в Statement # setFetchSize, который некоторые драйверы не соблюдают.

Если вы используете MsSQL, вы можете добавить dataSource param responseBuffering = "adaptive".

Смотрите здесь для получения дополнительной информации:
http://wiki.apache.org/solr/DataImportHandlerFaq

2 голосов
/ 10 марта 2011

запустите tomcat с -Xmx1024m или большим значением, чтобы tomcat получил больше места в куче.

1 голос
/ 10 марта 2011

вы обязательно должны посмотреть на настройку вашей JVM.для начала вам следует изменить параметры JVM для создания журнала сбора мусора, а затем использовать инструмент для анализа этого журнала.Этот анализ поможет вам выбрать правильные значения для вашей кучи, а также позволит вам определить, есть ли у вас утечка памяти или просто проблема с настройкой кучи.см. этот связанный вопрос для получения дополнительной информации об инструментах анализа ГХ:

Анализ журналов ГХ для горячих точек Sun, JVM 6

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...