web-dev-qa-db-ja.com

POWER8のJavaで「指定されたスタックサイズが小さすぎます」エラーを回避するにはどうすればよいですか?

OpenJDKを使用してPower PCハードウェアで実行されているUbuntu(14.04)でJavaアプリケーション(ElasticSearchおよびCassandra)を実行しようとしています。私はエラーに遭遇しました:

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にはスタックサイズに少なくとも160kが必要であることがわかりました。そのため、Power PCアーキテクチャにはx86_64の10倍のスタックサイズが必要と思われます。

Linux固有のJava設定がありますかJava Power PCアーキテクチャで実行されていますか?

2
Matt Bruzek

コマンドラインでJavaを実行するためのスタックサイズを変更する方法は-Xssです

この場合、それは:Java -Xss1664k JavaApplication

構成ファイル(JavaやElasticSearchなど)を持つCassandraアプリケーションを使用している場合、スタックサイズは多くの場合、構成ファイルのJava_OPTS変数で指定されます。

1
Matt Bruzek

powerpc以外のppc64elアーキテクチャを実行していることを確認してください。 Powerpcは32ビットリリースであり、POWER8サーバーで実行することは推奨されません。

反対側では、ppc64elを使用してください。これは64ビットリリースであり、スタックサイズを適切なサイズにする必要があります。

0
Breno Leitão

編集/etc/cassandra/cassandra-env.sh

JVM_OPTS="$JVM_OPTS -Xss 1664k"JVM_OPTS="$JVM_OPTS -Xss1792k"に変更します

cassandraをもう一度起動してみてください。それが動作します。

参照

0
Harikrishnan