【问题标题】:Increase JVM heap size for Scala?增加 Scala 的 JVM 堆大小?
【发布时间】:2010-11-29 07:23:30
【问题描述】:

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

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

【问题讨论】:

    标签: scala command-line jvm heap-memory


    【解决方案1】:

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

    scala -J-Xmx2g ...
    

    【讨论】:

    • 快速简便的解决方案,谢谢!我想知道为什么手册页没有显示这个?
    【解决方案2】:

    JAVA_OPTS 环境变量用于指定传递给 java 命令的选项。详情请见Scala manpage

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

        编辑JAVA_OPTS

        【讨论】:

          【解决方案5】:

          作为 hack,您可以编辑 scala/bin/scala 文件以编辑 java 命令的参数。不漂亮。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2013-01-01
            • 2012-04-04
            • 2011-07-24
            • 1970-01-01
            • 2011-09-21
            • 2011-09-29
            相关资源
            最近更新 更多