增加Scala的JVM堆大小?

我有一个Scala数据处理工具,这是一个java.lang.OutOfMemoryErrorexception失败。 这个工具需要在一个大的数据文件(我正在使用的那个文件超过700MB)上做一对夫妇传递,所以如果整个东西都可以存储在内存中,那将是很方便的。

我使用“scala”runner从命令行或Bash脚本运行该工具。 如何增加这个JVM堆大小? 我试过传递-Xmx1024m ,但是不能识别这个参数。 我正在使用每晚构build的Scala 2.8.0(r18678)。

JAVA_OPTS环境variables用于指定传递给java命令的选项。 有关详细信息,请参阅Scala联机帮助页 。

您可以通过-JEg将选项传递给JVM,

 scala -J-Xmx2g ... 

根据Joe的build议,我看了一下scala程序,它是一个Bash脚本,用各种Scala特定参数调用java。 它允许额外的命令行参数通过JAVA_OPTS环境variables传递给Java。 所以你可以像这样增加堆大小:

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

编辑JAVA_OPTS

作为一个破解你可以编辑scala/bin/scala文件来编辑java命令的参数。 不漂亮。