Исключение Java при использовании Lucene - PullRequest
0 голосов
/ 27 января 2011

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

1 Ответ

0 голосов
/ 27 января 2011

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

...