Apache Spark - 内存异常错误 - IntelliJ 设置

Apache Spark - Memory Exception Error -IntelliJ settings

当我尝试 运行 使用 Apache Spark 的测试时,我遇到了以下异常:

    Exception encountered when invoking run on a nested suite - System memory 259522560 must be at least 4.718592E8. Please use a larger heap size.
java.lang.IllegalArgumentException: System memory 259522560 must be at least 4.718592E8. Please use a larger heap size.

我可以通过更改配置中的 vm 选项来绕过错误,使其具有

中的 :-Xms128m -Xmx512m -XX:MaxPermSize=300m -ea
http://apache-spark-user-list.1001560.n3.nabble.com/spark-1-6-Issue-td25893.html

但是,我不想每次测试都更改该设置,我希望它是全局的。在尝试了各种选择后,我发现自己在这里希望有人可以提供帮助。

我已经重新安装了 IDEA 15 并进行了更新。此外,我 运行 正在使用 64 位 jdk,更新 JAVA_HOME 并使用 idea64 exe。

我还更新了 vmoptions 文件并更新了上面的值以包含在内,以便它显示为:

    -Xms3g
-Xmx3g
-XX:MaxPermSize=350m
-XX:ReservedCodeCacheSize=240m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow

我不太了解这些选项,所以可能会发生冲突,但除此之外 - 我不知道我还能做些什么来制作这个 %^$%^$&*无需在 IDEA 中手动更新配置即可测试工作。

感谢任何帮助,谢谢。

在 IntelliJ 中,您可以为特定类型的(测试)配置创建一个默认配置,然后该类型的每个新配置都会自动继承这些设置。

例如,如果您希望将其应用于所有 JUnit 测试,请转至 Run/Debug 配置 --> 选择 默认值 --> 选择 JUnit,然后根据需要设置 VM 选项:

保存更改(通过 Apply 或 OK),然后,下次您尝试 运行 JUnit 测试时,它会自动进行这些设置:

备注:

  • 这可以应用于任何配置类型(例如 ScalaTest 等),当然,不特定于 JUnit
  • 如果您已经有一些现有配置,它们不会继承默认配置的更改,所以您应该删除它们并让 IntelliJ 重新创建它们(下次您点击 运行 或 Ctrl+Shift+测试中的 F10 class)