1

Я пытаюсь использовать Weka (http://www.cs.waikato.ac.nz/ml/weka/) в 64-битной системе Windows 7, которая по своей природе очень ограничена в памяти. Проблема в том, что на моем ПК 8 ГБ ОЗУ, а диспетчер задач говорит, что выделено только 1,5. Тем не менее, когда я пытаюсь запустить Weka, который предположительно использует только 3 из этих ГБ, происходит сбой со следующей ошибкой:

Error occurred during initialization of VM
Could not reserve enough space for 3072000KB object heap

Идеи?

1 ответ1

4

Произошла ошибка при инициализации ВМ

Не удалось зарезервировать достаточно места для кучи объектов размером 3072000 КБ.

Вам нужно увеличить максимальный размер кучи JVM.

Пытаться:

java -Xmx4g ...

Замечания:

  • Вам также необходимо убедиться, что у вас установлена 64-битная версия JVM.

OutOfMemoryException

Большинство виртуальных машин Java выделяют только определенный максимальный объем памяти для запуска программ Java. Обычно это намного меньше, чем объем оперативной памяти на вашем компьютере. Однако вы можете расширить объем памяти, доступный для виртуальной машины, установив соответствующие параметры. С Sun JDK, например, вы можете использовать

java -Xmx512m ...

установить максимальный размер кучи Java на 512 МБ. Вы можете использовать -Xmx2g чтобы установить его на 2 ГБ.

Для получения дополнительной информации об этих параметрах перейдите по этой ссылке.

Замечания:

Также не используйте параметр -Xms , так как это быстро приведет к исключению OutOfMemoryException.

Если вы используете WEKA под Windows и запускаете WEKA из меню «Пуск», ознакомьтесь с разделом « Вызов» статьи о виртуальной машине Java , в нем объясняется, какие файлы нужно редактировать, чтобы предоставить WEKA больше памяти (RunWEKA.bat или RunWEKA.ini. в зависимости от вашей версии).

Но имейте в виду, что ваша аппаратная архитектура и / или операционная система будут ограничивать объем памяти, который вы можете выделить (см. 32-битные и 64-битные разделы статьи о виртуальной машине Java).

Источник OutOfMemoryException


Могу ли я проверить, сколько памяти доступно для WEKA?

Вы можете легко проверить, сколько памяти может использовать WEKA (это зависит от максимального размера кучи, с которой была запущена виртуальная машина Java).

  1. версия для разработчиков
    • запустить SimpleCLI
    • выполните следующую команду:
    • Ява weka.core.Системная информация
    • свойство memory.max перечисляет максимальный объем памяти, доступный для WEKA
  2. версия книги (и версия для разработчиков)
    • запустить проводник
    • щелкните правой кнопкой мыши на панели журнала
    • выберите Информация о памяти, чтобы вывести информацию в журнал

В случае, если вы столкнетесь с OutOfMemoryException, вам придется увеличить максимальный размер кучи. То, сколько вы можете выделить, сильно зависит от операционной системы и основного оборудования (см. Разделы «32-битные и 64-битные» статьи о виртуальной машине Java ). Также взгляните на раздел OutOfMemoryException ниже.

Источник Могу ли я проверить, сколько памяти доступно для WEKA?


Дальнейшее чтение

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .