2

次のヘッダーを持つscalaシェルスクリプトがあります。

#! /bin/sh
env JAVA_OPTS="-Xmx20g"
exec scala -classpath ./target/scala-2.9.1/classes:lib/* "$0" "$@"
!#

残念ながら、JAVA_OPTS変数をどのように設定しても、プログラムはメモリ不足エラーで終了します。

グローバルJAVA_OPTS環境変数をいじることなく、このようなシェルスクリプトでヒープサイズを適切に構成するにはどうすればよいですか?

4

2 に答える 2

4

Scalaヘルプから:

Javaランタイムに到達するscalaのオプション:

..。

-J <arg> -Jは削除され、そのままjavaに渡されます

-J-Xmx20gしたがって、 scalaに引数を追加できます。

于 2013-01-16T20:31:44.707 に答える
1

ScalaREPLで使用されるJVMのコマンドラインオプションを提供します。

$ env JAVACMD=JAVA JAVA_OPTS="-Xmx1024M -Xms16M -Xss16M" scala

REPLから確認します。

val r = Runtime.getRuntime
println("Memory usage: "+ (r.totalMemory - r.freeMemory) + " of " + r.maxMemory)

メモリ使用量:954728448の66712264

于 2013-01-16T21:14:26.247 に答える