Sbt specs2的JVM内存设置

Sbt specs2的JVM内存设置,sbt,specs2,spray,Sbt,Specs2,Spray,SBT在使用and的一些更大的验收式测试中不断耗尽内存。我有10个Gig或RAM可用,目前我启动SBT(使用),MaxPermSize为512m,Xms为1024m,Xmx为2g 验收测试以特定的顺序贯穿客户的整个业务流程,因此不容易将验收测试拆分为多个较小的测试 任何关于如何更好地配置我的环境的想法,或者我应该注意的问题,都将不胜感激 值得一提的是,我在Ubuntu下使用Oracle Java,该项目使用Scala 2.10、sbt 0.12.2、spray 1.1-M7和specs2 1.1

SBT在使用and的一些更大的验收式测试中不断耗尽内存。我有10个Gig或RAM可用,目前我启动SBT(使用),MaxPermSize为512m,Xms为1024m,Xmx为2g

验收测试以特定的顺序贯穿客户的整个业务流程,因此不容易将验收测试拆分为多个较小的测试

任何关于如何更好地配置我的环境的想法,或者我应该注意的问题,都将不胜感激

值得一提的是,我在Ubuntu下使用Oracle Java,该项目使用Scala 2.10、sbt 0.12.2、spray 1.1-M7和specs2 1.14


当在测试之外运行系统时,或者当使用较小的测试时,一切都像时钟一样运行。只有在更大的测试中,事情才会变得疯狂。

您可以做的一件事是进行测试,您可以直接在build.sbt中设置内存设置:

fork in Test := true

javaOptions in Test += "-Xmx2048m" // we need lots of heap space

这意味着测试不依赖于您使用SBT extras脚本运行,并且设置不会影响SBT本身。您还可以设置各种其他选项(请参阅),包括更改工作目录,甚至更改要使用的JRE。

我怀疑specs2不可变样式遇到了指数问题。解决方案就是添加更多内存或将测试分成更小的块。更多信息请点击此处:


我花了一分钟才意识到你需要在这两者之间划一条线。