Intellij偶尔无法保留足够的空间来存储对象堆。

8

已解决,请查看下面的解决方案。

我正在使用 Intellij Idea 2017.2.2 版本。以下是我的 Intellij 规格。

我的 Intellij 偶尔会出现以下错误,导致 maven 构建或 jboss 服务器启动失败。

Error occurred during initialization of VM
Could not reserve enough space for 1048576KB object heap

如果我使用以下vm参数运行maven构建:
-Xms512m -Xmx1024m
构建将在10次中有9次失败(不是每一次第十次,而是随机的)。但是第10次会成功。我只需要不断按安装按钮,直到它能够正常工作。
之前的一个主要问题是,如果我不指定vm参数,则构建会在进行了一半后耗尽java堆空间而失败。
我的jboss服务器(JBOSS6.4-7.5.0.Final红帽21)也表现出完全相同的行为,即服务器启动9次失败,然后像往常一样随机启动。
规格:
IntelliJ IDEA 2017.2.2
Build #IU-172.3757.52,于2017年8月14日构建
授权给-----
订阅有效期至2018年5月31日
JRE:1.8.0_152-release-915-b10 amd64
JVM:由JetBrains s.r.o提供的OpenJDK 64位服务器VM
Windows 7 6.1
测试内容:
我从Intellij 2017.1升级到2017.2,但行为没有改变。
我还尝试在Eclipse上做同样的事情,但也没有帮助。
干净地重启计算机,然后关闭所有不必要的应用程序,打开intellij进行maven构建,但仍然失败,但是多点击几次就像往常一样不一致地工作。(请注意,此时仅使用了16GB中的6GB,没有内存不足的可能性)
*编辑
这台电脑有16 GB的RAM。在发生错误时,大约使用了9.5GB。

购买更多的RAM... - Meo
@Meo 这台电脑有16GB的内存,在持续失败的时候,只使用了大约9GB左右,最差情况下始终有4GB可用。此外,在将内存升级到16GB之前,8GB的内存也能正常工作。虽然我怀疑问题可能与系统有关,但内存可能不是问题所在。 - user1111111
尝试增加虚拟内存(页面文件)的大小。此外,尝试关闭一些不必要的软件并使用一些RAM碎片整理工具(但这可能是无用的)。 - Meo
https://dev59.com/U2ox5IYBdhLWcg3wSCfk#9304270 - Meo
我也尝试过那样做。我尝试了对电脑进行完全重启,但是行为没有改变。它会像现在这样工作,但只是“随机”的。 - user1111111
4个回答

14

最终我通过升级正确的JDK解决了问题。 我的项目选择了错误的JDK,因此运行的是32位而不是64位的JDK。

只需在“文件”>“项目设置”下添加正确的JDK即可。

似乎我的项目以前从未需要那么多内存,但一旦需要增加,就需要64位。


5
我已经通过更改Intellij的构建设置解决了这个问题。 请按照以下步骤操作。
对于SBT: 1. 转到文件-> 设置-> 构建,执行部署-> sbt 2. 将最大堆大小的值(MB)更改为可用内存。例如 512 (以前此值为1536,因此我遇到了问题)
对于Maven: 1. 转到文件-> 设置-> 构建,执行部署-> Maven-> 导入
2. 更改导入程序的VM选项值以使用您的可用内存。例如-Xmx512m

Heap memory issue fix in Intellij


1
我必须执行以下选项才能通过错误。
使用的规格:IDEA IntelliJ 2019.3.5(社区版)
1. 在IntelliJ VM选项中增加内存 步骤1: 转到帮助->编辑自定义VM选项 enter image description here 步骤2:按照下面给出的堆大小更改堆大小 enter image description here 2. 通过设置VM选项以增加内存运行应用程序 运行->编辑配置 enter image description here

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接