Я пытаюсь запускать приложения Java (ElasticSearch и Cassandra) в Ubuntu (14.04), работающие на оборудовании Power PC с использованием OpenJDK. Я столкнулся с ошибкой:
The stack size specified is too small, Specify at least 1664k
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Я обнаружил, что для x86_64 OpenJDK Java требуется как минимум 160 КБ для размера стека. Похоже, что для архитектуры Power PC размер стека в десять раз больше, чем для x86_64.
Существуют ли какие-либо другие параметры Java, специфичные для Linux Java, работающие на архитектуре Power PC?
Способ изменить размер стека для рабочего Java на командной строке,-Xss
В этом случае это: java -Xss1664k JavaApplication
при использовании JAVA-приложений, которые имеют конфигурационные файлы (такие как Cassandra или ElasticSearch) размер стека часто указывается в JAVA_OPTS
переменная конфигурационного файла.
Редактирование /etc/cassandra/cassandra-env.sh
Изменение JVM_OPTS="$JVM_OPTS -Xss 1664k"
к JVM_OPTS="$JVM_OPTS -Xss1792k"
Попытка запустить cassandra снова. Это будет работать.
Удостоверьтесь, что Вы работаете ppc64el
архитектура кроме powerpc
. Powerpc
выпуск на 32 бита, и и это не, рекомендуют работать на сервере POWER8.
С другой стороны, используйте ppc64el
, который является выпуском на 64 бита и должен иметь размер стека, правильно измеренный.