Я использую ManifoldCF для индексации документов в Solr. Solr настроен в облачном режиме с одним узлом / ядром и внешним ZooKeeper (на том же компьютере, что и тот, на котором запущен Solr). ManifoldCF читает файлы (около 2300, общий размер 2,4 ГБ) с локального жесткого диска. Обе системы работают на виртуальной машине с использованием SUSE Enterprise и HotSpot JVM. Для машины, на которой запущен Solr, установлено 2,5 ГБ, из которых Solr разрешено использовать до 2. На другой машине, на которой работает Manifold, в настоящее время установлено 8 ГБ. Я вызываю Manifold с помощью следующей команды (от имени пользователя root):
java -Xmx7168m -jar manifoldcf/example/start.jar
Процесс индексации работает безупречно, за исключением того, что он внезапно останавливается, когда Manifold исчерпывает память и начинает выбрасывать OutOfMemoryExceptions и дает сбой.
Я ничего не менял в конфигурации Manifold, кроме настройки Tika-Parser, используемого в Solr, для игнорирования исключений, так как они прерывали бы процесс индексации при сканировании документов с неизвестным / другим форматированием.
Я уже пробовал использовать OpenJDK, а также перешел на Ubuntu, что на самом деле ничего не изменило. Использование большего или меньшего количества памяти (наряду с изменением параметра памяти Java) также привело к той же проблеме. Я также посмотрел на сборку мусора (используя -XX: + PrintGCDetails -XX: + PrintGCTimeStamps -XX: + HeapDumpOnOutOfMemoryError -Xloggc: /root/Documents/gc.log), результаты доступны Вот. При использовании меньшего количества документов процесс индексирования завершается, но использование памяти остается высоким и увеличивается еще больше при индексировании второго пакета документов, что опять же приводит к сбою, связанному с памятью (вывод консоли показывает этот сообщение об ошибке перед закрытием приложения через несколько секунд).
Виртуальные машины работают на машине с 16 ГБ ОЗУ и 3,6 ГГц-Quadcore с HyperThreading (i7-4790), оба могут использовать все 4 ядра, загрузка ЦП варьируется от довольно низкой до средней.
Теперь мой вопрос: это ошибка в ManifoldCF или Solr или это связано с определенным аспектом установки или конфигурации? Если это моя вина, как я могу это исправить? (Если это действительно ошибка или проблема, которую я не могу исправить, также приветствуются альтернативы ManifoldCF (кроме Simple Post Tool ofc))