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

Java Apache Spark-内存异常错误-IntelliJ设置,java,intellij-idea,apache-spark,jvm,virtual-machine,Java,Intellij Idea,Apache Spark,Jvm,Virtual Machine,当我尝试运行使用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

当我尝试运行使用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中手动更新congif


感谢您的帮助。

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

例如,如果希望将此应用于所有JUnit测试,请转到运行/调试配置-->选择默认值-->选择JUnit,然后根据需要设置VM选项:

保存更改(通过“应用”或“确定”),然后,下次尝试运行JUnit测试时,它将自动进行以下设置:

注:

  • 当然,这可以应用于任何配置类型(例如ScalaTest等),而不是JUnit
  • 如果您已经有一些现有配置,它们将不会继承默认配置中的更改,因此您应该删除它们并让IntelliJ重新创建它们(下次在测试类中单击Run或Ctrl+Shift+F10时)

你很漂亮,谢谢。在IDE配置之外,没有办法处理这种类型的问题吗?例如使用vmoptions?我不确定,但我不这么认为-我认为VM选项适用于运行IntteliJ本身的JVM,而不是它为测试生成的JVM(不确定)。顺便说一句-我经常使用Gradle的idea插件()来管理IntelliJ项目文件,您可以自定义项目文件,从一开始就包括这些设置(运行
Gradle idea
以我在回答中显示的默认值构建项目),但这不是一个简单的自定义。。。