Увеличение размера кучи в Java для Weka - PullRequest
19 голосов
/ 29 декабря 2011

Я пытаюсь увеличить размер кучи в Java для weka, который продолжает падать. Я использовал предложенную строку:

> java -Xmx500m -classpath

но я получаю следующую ошибку:

-classpath requires class path specification

Я не уверен, что это значит. Есть предложения?

Ответы [ 16 ]

21 голосов
/ 11 марта 2012

Я обнаружил, что фактическая проблема была в файле 'RunWeka.ini' в '\Program Files (x86)\Weka-3-6'. Я открыл его с помощью блокнота и в середине файла есть строка 'maxheap = 512m'.

Я изменил строку на 'maxheap=2000m', сохранил файл и перезагрузил weka, и это исправило мои проблемы.

Я не уверен, что это правильный способ сделать это или нет, но у меня это сработало.

11 голосов
/ 19 января 2015

Запустите эту команду в своем терминале:

java -Xmx1024m -jar weka.jar
11 голосов
/ 29 декабря 2011

Опустить вариант -classpath.Используйте только параметр -Xmx500m.

Итак, вместо просто:

java weka.core.Instances data/soybean.arff

вы делаете:

java -Xmx500m weka.core.Instances data/soybean.arff

Если вы запускаете weka через какой-то скрипт (RunWeka.например, bat), затем вам нужно изменить этот скрипт (с помощью какого-нибудь текстового редактора, такого как блокнот).

8 голосов
/ 01 сентября 2017

Если вы используете Weka 3.8.1 в Windows, вы можете избежать многих проблем, отредактировав параметр javaOpts.Параметр maxheap больше не используется, поэтому вы можете установить javaOpts, например, в RunWeka.ini file:

javaOpts= -Xmx1040m

Где 1040m - объем памятиВы хотите выделить.

Помните, что файл чувствителен к регистру.

Существует множество способов настроить это, но это более быстрый способ запустить Weka в среде Windows в этой версии.

Редактировать: Если вы хотите, чтобы Weka использовал более 1gb в Windows, вам нужно установить JDK.Обычные JRE этого не сделают.

5 голосов
/ 27 ноября 2014

Официальный ответ Weka (для всех операционных систем и версий Weka) можно найти на http://weka.wikispaces.com/OutOfMemoryException.

Если вы используете последнюю версию Weka для Windows, ответ :

Изменить параметр maxheap в файле RunWeka.ini.

3 голосов
/ 07 июня 2016

В Ubuntu у меня была такая же проблема но я решаю это путем увеличения объема памяти, чтобы использовать для виртуальной машины Java запустите это: weka -m 1024m

3 голосов
/ 28 апреля 2015

Для Mac OS вам нужно отредактировать файл конфигурации, чтобы увеличить размер кучи приложения Weka UI.

Я повторяю то, что написал: Есть ли обходной путь, который нужно решить?Ошибка памяти «пространства кучи Java», когда максимальное значение кучи уже было задано?

  1. Выход из Weka, если он работает.

  2. Перейдите в /Applications/weka-XXX.app/Contents или везде, где был установлен ваш исполняемый файл weka.Там будет файл с именем Info.plist.Это текстовый файл XML.Я предлагаю вам сохранить его копию в другом месте, так как вам нужно будет отредактировать ее на следующем шаге.

  3. Откройте файл Info.plist (XML) в своем любимом тексте.отредактируйте и найдите блок с надписью «VMOptions».Должно быть значение, которое говорит "-Xmx256M" или что-то подобное, что указывает максимальный размер кучи .Вы должны изменить это значение на что-то большее, например, "-Xmx1024M".

  4. Start Weka.

3 голосов
/ 29 декабря 2011

Вам нужно указать classpath после -classpath, аналогично переменной PATH env, вам нужно указать путь, где Java может найти классы.

Настройка -Xmx500m выглядит нормально, за исключением того, что я бы предложил использовать 512 м.

1 голос
/ 17 мая 2018

Weka 3.9.2 также не имеет опции maxheap. RunWeka.ini имеет опцию javaOpts, поэтому вы можете изменить нижеприведенное значение на требуемое выделение памяти,

javaOpts=%JAVA_OPTS%   ---- > javaOpts= -Xmx1024m

Здесь 1024m - это настраиваемый объем памяти, который вы хотите выделить.

1 голос
/ 13 декабря 2015

Официальный ответ Weka правильный. Но .... важно сначала избавиться от всех файлов JVM и установить соответствующую 32- или 64-битную версию Java.Неиспользование соответствующей версии вызывает много проблем, включая невозможность увеличения кучи более чем на 1024 метра (путем изменения ini-файла).

...