Увеличить размер кучи в java для weka
Я пытаюсь увеличить размер кучи в java для weka, который продолжает сбой. Я использовал предложенную строку:
> java -Xmx500m -classpath
но я получаю следующую ошибку:
-classpath requires class path specification
Я не уверен, что это значит. Любые предложения?
Ответы
Ответ 1
Я обнаружил, что фактическая проблема была в файле 'RunWeka.ini'
в '\Program Files (x86)\Weka-3-6'
. Я открыл его с помощью блокнота, а в середине файла есть строка 'maxheap = 512m'
.
Я изменил строку, чтобы прочитать 'maxheap=2000m'
, сохранил файл и перезагрузил weka, и это устранило мои проблемы.
Я не уверен, что это правильный способ сделать это или нет, но это сработало для меня.
Ответ 2
Опустите параметр -classpath
. Используйте только опцию -Xmx500m
.
Итак, вместо просто:
java weka.core.Instances data/soybean.arff
:
java -Xmx500m weka.core.Instances data/soybean.arff
Если вы запустите weka через некоторый script (например, RunWeka.bat), вам нужно изменить этот script (с помощью некоторого текстового редактора, такого как блокнот).
Ответ 3
Запустите эту команду в терминале:
java -Xmx1024m -jar weka.jar
Ответ 4
Если вы используете Weka 3.8.1 в Windows, вы можете сэкономить массу проблем, отредактировав параметр javaOpts
. Параметр maxheap
больше не используется, поэтому вы можете установить javaOpts
как это в файле RunWeka.ini:
javaOpts= -Xmx1040m
Где 1040m
- объем памяти, который вы хотите выделить.
Помните, что файл чувствителен к регистру.
Есть много способов установить это, но это более быстрый способ запустить Weka в среде Windows в этой версии.
Изменить: если вы хотите, чтобы Weka использовал больше, чем 1gb
в Windows, вам нужно установить JDK. Регулярная JRE не сделает этого.
Ответ 5
официальный ответ Weka (для всех операционных систем и версий Weka) можно найти на http://weka.wikispaces.com/OutOfMemoryException.
Если вы используете недавнюю версию Weka в Windows, ответ:
Измените параметр maxheap
в файле RunWeka.ini
.
Ответ 6
Вам нужно указать путь к классу после -classpath
, аналогичный переменной PATH
env, вам нужно указать путь, в котором Java может найти классы.
Настройка -Xmx500m
выглядит отлично, за исключением того, что я предлагаю использовать 512 м.
Ответ 7
Для Mac OS вам нужно отредактировать файл конфигурации, чтобы увеличить размер кучи приложения Weka UI.
Я повторяю то, что я написал в: Есть ли способ обхода "Явное пространство Java" ? ошибка памяти, когда значение максимальной кучи уже указано?
-
Выход из Weka, если он запущен.
-
cd в /Applications/weka -XXX.app/Contents или везде, где был установлен ваш исполняемый файл weka. Там будет файл с именем Info.plist
. Это текстовый XML файл. Я предлагаю вам сохранить его копию в другом месте, так как вам нужно будет отредактировать его на следующем шаге.
-
Откройте файл Info.plist
(XML) в вашем любимом текстовом редакторе и найдите блок с надписью "VMOptions". Должно быть значение, которое говорит "-Xmx256M" или нечто подобное, что указывает максимальный размер кучи. Вы должны изменить это значение на нечто большее, например "-Xmx1024M".
-
Запустите Weka.
Ответ 8
На Ubuntu у меня была такая же проблема
но я решаю его, увеличивая объем памяти для использования на виртуальной машине Java
запустите это: weka -m 1024m
Ответ 9
Я запускаю Weka 3.6 в windows. Это то, что я сделал.
Перейдите в каталог установки Weka, и вы найдете файл RunWeka.bat. Откройте этот файл в текстовом редакторе и добавьте аргумент -Xmx в командную строку java.
например, это устанавливается в 4 ГБ памяти,
% _java% -Xmx4096m -classpath. RunWeka -i.\RunWeka.ini -w.\Weka.jar -c% _cmd% "% 2"
Ответ 10
Официальный ответ Weka прав. Но главное - сначала избавиться от всех файлов JVM и установить соответствующую 32-битную версию 64-разрядной версии Java. Не использовать соответствующую версию вызывает много проблем, в том числе невозможность увеличить кучу дальше 1024 м (путем изменения ini файла).
Ответ 11
Weka 3.9.2 также не имеет опции maxheap. RunWeka.ini имеет опцию javaOpts, так что вы можете изменить ниже, чтобы ваш необходимый объем памяти,
javaOpts=%JAVA_OPTS% ---- > javaOpts= -Xmx1024m
Здесь 1024m - это объем памяти, который вы хотите выделить.
Ответ 12
Лучший способ сделать это с помощью этой команды
java -Xmx1024m -[weka classifier] -t [training file path]
Ответ 13
Ответы выше слишком старые (последний год 1 год назад).
У меня была такая же проблема с моей WEKA (версия 3.8.1) в Windows 10.
У меня возникла проблема с обновлением размера кучи, так как я исправил его, добавив переменную среды (под панелью управления) следующим образом:
JAVA_OPTS = -Xms30000m -Xmx30000m
Совет. Просто убедитесь, что RunWeka.ini использует эту переменную среды.
В приведенном выше примере я даю WEKA 30GB. Оно работает.
Надеюсь, что это будет полезно для некоторых людей.
Ответ 14
Вы также должны увидеть, достаточно ли размера стека по умолчанию 20 МБ. Увеличьте значение до 50 МБ в файле /Applications/weka -3-8-1-oracle-jvm.app/Contents/Info.plist(по MAC), как показано ниже:
<string>-Xss50M</string>
Ответ 15
Если мы используем Weka Workbench CLI или Исследователь знаний, нам нужно изменить, как показано ниже.
Как видно из документации, параметр времени выполнения должен быть -Xmx [size_required] m, где [size_required] - это объем памяти, который вы намереваетесь сохранить, чтобы избежать исключения памяти.
Откройте RunWeka.ini
Определить maxheap = [size_required] G
В моем случае я сохранил maxheap = 4G, можно установить как maxheap = 4096m и добавить -Xmx # maxheap # ко всем параметрам запуска в разделах # setups (с префиксом "cmd_") рядом с командами java, как показано ниже
cmd_default=javaw -Xmx#maxheap# ...............
cmd_console=cmd.exe /K start cmd.exe ..................
cmd_explorer=java -Xmx#maxheap# .................
cmd_knowledgeFlow=java -Xmx#maxheap#....................
maxheap=4G
Проверьте то же самое, перезапустив Weka и Help >> SystemInfo
Ответ 16
Если вы запускаете weka из командной строки, но не через java, то есть weka
в командную строку вместо ввода
weka
указать флаг памяти
weka -m 1024m
Это будет указывать 1024 мегабайта.