2011-01-27 2 views
0

Привет Я пробовал программу с использованием Lucene Plugin. У меня несколько индексов, для поиска нескольких индексов я использовал «ParallelMultiSearcher». Но при поиске я снова и снова получаю исключение «Исключение в потоке» Thread-2 «java.lang.OutOfMemoryError: размер запрашиваемого массива превышает лимит VM». Я использую eclipse Helio IDE, UBUNTU 10.04. Операционная система (32 бит). 3 ГБ. Версия Lucene 3.0.3. 10 индексных файлов, каждая из которых содержит 100 записей (csv-файлы, с 10 полями). Параметры аргументов VM -Xmx1024m -XX: MaxPermSize = 1024m. Но я пытался увеличить, несколько раз я получаю Ошибка при инициализации VM Не удалось зарезервировать достаточно места для кучи объекта. Даже я уменьшил размер файла и попытался, а вместо 10 файлов, я уменьшил до 1 файла, снова и снова, я получаю ту же ошибку. Пожалуйста, предложите решение для вышеуказанного. Спасибо заранее.Исключение Java при использовании Lucene

+0

Не могли бы вы вставить свой код? Потому что ваши данные слишком малы, чтобы вызвать такое исключение. Я получил то же исключение, но работал с индексом 40 ГБ (разложился на 10 индексов). Вероятно, у вас есть ошибка в коде. – Skarab

+0

Проверьте предложение Кай Чан в этой дискуссии - http://stackoverflow.com/questions/3556870/what-is-the-biggest-size-number-of-documents-of-index-java-lucene-3-0- 2-на-32. – Skarab

ответ

0

На 32-битном Ubuntu процесс JVM может запросить что-то вроде 2 ГБ памяти кучи, прежде чем он достигнет жесткого предела, налагаемого аппаратным обеспечением. Вы сожгли половину этого, попросив 1gbyte кучу пермгенов. Это кажется способом слишком много для меня. Попробуйте с ~ 1.8Gb обычной кучи и 200Mb пергентов.

+0

извините stephen, снова получая только одно исключение .... – Nageswaran

+0

ОК, так что это должно быть что-то еще. Я предполагаю, что это должно быть связано с тем, как вы настроили Lucene. –

Смежные вопросы