增加Scala的JVM堆大小?
我有一个Scala数据处理工具,这是一个java.lang.OutOfMemoryError
exception失败。 这个工具需要在一个大的数据文件(我正在使用的那个文件超过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
命令的参数。 不漂亮。