增加Scala的JVM堆大小?

Jay*_*rod 50 heap command-line jvm scala

我有一个Scala数据处理工具失败,但有java.lang.OutOfMemoryError异常.该工具需要对大型数据文件(我正在处理的文件超过700MB)进行一次传递,因此如果将整个文件存储在内存中会很方便.

我使用"scala"运行器从命令行或Bash脚本运行该工具.如何为此增加JVM堆大小?我试过传球-Xmx1024m,但它不承认这个论点.我正在使用Scala 2.8.0(r18678)的夜间版本.

Geo*_*ing 115

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

scala -J-Xmx2g ...
Run Code Online (Sandbox Code Playgroud)


Syn*_*sso 25

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


Jay*_*rod 21

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

JAVA_OPTS="-Xmx2g" scala classname arguments...
Run Code Online (Sandbox Code Playgroud)