【问题标题】:How to change runtime JAVA heap space in intellij IDEA on MacOS?如何在 MacOS 上的 intellij IDEA 中更改运行时 JAVA 堆空间?
【发布时间】:2020-06-26 02:45:38
【问题描述】:

我收到Exception in thread "main" java.lang.OutOfMemoryError: Java heap space 在使用 IntelliJ Idea 在 scala 中运行一些主要对象时, 使用“^R”快捷方式右键单击->运行'mainObjName'

如果使用 sbt,这个程序运行没有问题:

$ JAVA_OPTS="-Xmx4096m" sbt
sbt:prj> run mainobj

从这个站点得到的搜索结果,我尝试将堆空间设置为4096m:

1.Preferences->Build Tools->sbt->最大堆大小,MB

2.Preferences->Compiler->Build process heap size(Mbytes)

3.Preferences->Compiler->Scala Compiler->Scala Compiler Server->JVM最大堆大小,MB

4.Preferences->Build Tools->Maven->Runner->VM Options (with -Xmx4096m)

但这些都不起作用。

我正在运行一个需要大量内存的程序,这显然不是构建时错误,而是在运行时发生了一些事情。 那么,如何更改 IntelliJ Idea 中运行程序的最大堆大小?

顺便说一句,该程序在具有更多内存的 linux 工作站上运行良好,但似乎默认堆大小配置在 MacOS 与 Linux 上的 IntelliJ Idea 上是相同的。似乎 java 在 MacOS 上消耗更多内存?

【问题讨论】:

  • 似乎默认的 MaxHeapSize 与环境有关。 ``` java -XX:+PrintFlagsFinal -version | grep -iE 'heapsize|permsize|threadstacksize' ``` 显示我的 macOS 和我的 linux 环境之间的差异

标签: scala intellij-idea sbt


【解决方案1】:

看来,您尝试的所有选项都在为各种编译器工具设置内存。

您可以尝试通过在正在运行的配置中将VM options 设置为-Xmx4096m 来更改运行时可用的内存。你可以在Run -> Edit Configurations... -> Application下找到你的mainObjName的配置

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多