Как обойти ошибку «указанный размер стека слишком мал» в Java на POWER8?

Я пытаюсь запускать приложения 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?

2
задан 6 February 2018 в 04:00

3 ответа

Способ изменить размер стека для рабочего Java на командной строке,-Xss

В этом случае это: java -Xss1664k JavaApplication

при использовании JAVA-приложений, которые имеют конфигурационные файлы (такие как Cassandra или ElasticSearch) размер стека часто указывается в JAVA_OPTS переменная конфигурационного файла.

1
ответ дан 6 February 2018 в 04:00

Редактирование /etc/cassandra/cassandra-env.sh

Изменение JVM_OPTS="$JVM_OPTS -Xss 1664k" к JVM_OPTS="$JVM_OPTS -Xss1792k"

Попытка запустить cassandra снова. Это будет работать.

Ссылка

0
ответ дан 6 February 2018 в 04:00

Удостоверьтесь, что Вы работаете ppc64el архитектура кроме powerpc. Powerpc выпуск на 32 бита, и и это не, рекомендуют работать на сервере POWER8.

С другой стороны, используйте ppc64el, который является выпуском на 64 бита и должен иметь размер стека, правильно измеренный.

0
ответ дан 6 February 2018 в 04:00

Другие вопросы по тегам:

Похожие вопросы: