是否增加Scala的JVM堆大小?

ukxgm1gy  于 2022-11-07  发布在  Scala
关注(0)|答案(5)|浏览(208)

我有一个Scala数据处理工具,它失败了,出现了一个java.lang.OutOfMemoryError异常。这个工具需要对一个大的数据文件(我正在处理的文件超过700MB)进行几次遍历,所以如果整个数据文件都能存储在内存中,那就太方便了。
我从命令行或Bash脚本中使用scala运行器运行该工具。如何增加JVM堆的大小?我尝试过传递-Xmx1024m,但它无法识别此参数。我使用的是Scala 2.8.0(r18678)的夜间构建版本。

zfciruhq

zfciruhq1#

您可以通过-J将选项传递给JVM。例如,

scala -J-Xmx2g ...
i7uq4tfw

i7uq4tfw2#

JAVA_OPTS环境变量用于指定传递给java命令的选项。有关详细信息,请参阅Scala manpage

y4ekin9u

y4ekin9u3#

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

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

yx2lnoni5#

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

相关问题