1

我有一个正在运行的 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 在 sbt-launch.jar 旁边显示服务器的不同进程

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

jconsole 显示这个进程只有 128M 内存

4

1 回答 1

0

可以通过为分叉的 JVM 设置 javaOptions来解决这个问题

object BuildSettings {
   ....
   val buildSettings = Defaults.defaultSettings ++ Seq(
     ....
     javaOptions += "-Xmx1G"
     ....
  )
}

如果您想更具体地了解不同的流程,您可以使用类似的东西

javaOptions in run +="-Xmx1G"

但我还没有找到你应该传递给哪个值in

于 2013-02-12T17:45:26.550 回答