java.lang.OutOfMemoryError:IntelliJ中的Java堆空间

时间:2016-05-09 20:29:42

标签: java intellij-idea heap-memory typesafe-activator

我已将一个SBT项目导入IntelliJ(版本14)。当我试图在终端中运行某些东西时,控制台输出正在给我" java.lang.OutOfMemoryError:Java堆空间"。 我尝试在* .vmoptions中增加大小( Xms2048m Xmx2048m ),以及在SBT项目的IDE构建设置中。我也重新启动了我的机器。什么都没有成功。 除了我尝试过的东西之外还有更多的输入吗?

P.S :我正在通过激活器运行项目。当我从IntelliJ命令提示符处执行此操作时,它会向我发送错误,但是当我从Windows命令提示符运行激活器时,它已成功运行该应用程序。

2 个答案:

答案 0 :(得分:2)

你问过你的IDE:

  • -Xms2048m - 要求VM在启动时分配2048MB(2GB)堆
  • -Xmx2048m - 将堆限制为2048MB

原因可能是:

  • 你试图超过2048MB
  • 启动时分配2048MB是不可能的(你可能刚刚用完RAM)
  • 系统认为如此快速的分配是一种恶意软件。

答案 1 :(得分:0)

我认为您需要将内存设置作为参数提供给您在控制台上运行的命令。

据我所知,IntelliJ中设置的任何参数只能用于IntelliJ本身,当您从SBT窗口运行项目时(我假设它的工作方式类似于maven窗口)。 另据我所知,IntelliJ中的终端窗口只是“传递”到主机系统的底层控制台。

不确定是否需要它,但这似乎是对内存设置的良好解释,以及指向重复答案的链接:What are the Xms and Xmx parameters when starting JVMs?