【发布时间】: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