2009-09-17 19 views
43

私はScalaデータ処理ツールを持っていますが、これはjava.lang.OutOfMemoryError例外で失敗しています。このツールは、大きなデータファイル(私が作業しているファイルは700MB以上)にいくつかのパスを渡す必要があるので、全体をメモリに格納できると便利です。ScalaのJVMヒープサイズを増やすには?

"scala"ランナーを使用して、コマンドラインまたはBashスクリプトからツールを実行します。このためにJVMのヒープサイズを大きくするにはどうすればよいですか?私は-Xmx1024mを渡そうとしましたが、この引数は認識されません。スカラ2.8.0(r18678)の夜間ビルドを使用しています。

答えて

24

JAVA_OPTS環境変数は、javaコマンドに渡されるオプションを指定するために使用されます。詳細は、Scala manpageを参照してください。

0

ハックとして、コマンドのパラメータを編集するためにscala/bin/scalaファイルを編集することができます。綺麗ではない。

+1

これはうまくいく可能性があります。 –

+0

はい、私は他の誰かが答えるのを待っています。私はあまりにも知りたい... – Joe

2

JAVA_OPTSを編集します。

21

ジョーの提案に基づいて、Scalaプログラムを見ました。これは、さまざまなScala固有の引数でjavaを呼び出すBashスクリプトです。 JAVA_OPTS環境変数を使用して余分なコマンドライン引数をJavaに渡すことができます。したがって、ヒープサイズを次のように大きくすることができます。

JAVA_OPTS="-Xmx2g" scala classname arguments... 
100

-Jを使用してJVMにオプションを渡すことができます。たとえば、

scala -J-Xmx2g ... 
+0

ありがとう! +1 – gd1

+0

私もこれを使用しています、ありがとう! – Benoit

+0

すばやく簡単なソリューションです、ありがとうございます!なぜ、このマニュアルページにこれが表示されないのだろうか? – markc

関連する問題