如何在Sbt的Build.scala中设置spray-can的堆大小?

时间:2013-01-26 22:28:23

标签: scala sbt xsbt-web-plugin spray

我有一个正在运行的sbt项目,可以使用重新启动来启动我的服务器。设置是使用xsbt-web-plugin完成的。

现在我注意到服务器进程以128M的堆运行,这有点短。我知道如何为sbt进程配置堆大小,但很明显,spray正在运行不同的jvm。

如何在这种设置中为喷雾罐配置更大的堆?

详细

我已按照我在此处的回答配置了我的sbt:How to specify JVM maximum heap size "-Xmx" for running an application with "run" action in SBT?

但是当我用jconsole查看正在运行的进程时,我可以看到服务器进程在不同的jvm中运行:

jconsole shows different process for server next to sbt-launch.jar

我可以看到这个进程只有128M的堆,而不是我在.sbtconfig中配置的3.5G。

jconsole shows this process has only 128M memory

1 个答案:

答案 0 :(得分:0)

可以通过setting the javaOptions for forked JVMs

解决此问题
object BuildSettings {
   ....
   val buildSettings = Defaults.defaultSettings ++ Seq(
     ....
     javaOptions += "-Xmx1G"
     ....
  )
}

如果您想更加了解不同的流程,可以使用

之类的东西
javaOptions in run +="-Xmx1G"

但我还没有找到你应该传递给in的值。