【问题标题】:JVM memory settings for specs2specs2 的 JVM 内存设置
【发布时间】:2013-03-09 09:20:19
【问题描述】:

在我使用specs2spray-testkit 进行的一些较大的验收风格测试中,SBT 一直内存不足。我有 10 个可用的演出或 RAM,目前我开始 SBT(使用 SBT extras script),MaxPermSize 为 512m,Xms 为 1024m,Xmx 为 2g。

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

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

不管怎样,我在 Ubuntu 下使用 Oracle Java,该项目使用 Scala 2.10、sbt 0.12.2、spray 1.1-M7 和 specs2 1.14。

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

【问题讨论】:

    标签: sbt specs2 spray


    【解决方案1】:

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

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

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

    【讨论】:

    【解决方案2】:

    我怀疑您遇到了 specs2 不可变样式的指数问题。解决方案只是添加更多内存或将您的测试分解为更小的块。更多信息在这里:

    http://www.artima.com/articles/compile_time.html

    【讨论】:

      猜你喜欢
      • 2022-01-12
      • 2021-02-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-08
      • 2018-03-07
      • 1970-01-01
      • 1970-01-01
      • 2016-10-10
      相关资源
      最近更新 更多