java – Intellij偶尔无法为对象堆保留足够的空间

已解决,请在下面查看解决方案.

我正在使用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 args运行maven构建

-Xms512m -Xmx1024m

构建将失败10次中的9次(不完全是每10次,但只是随机).但在第10次它会工作.我只需按住安装按钮直到它工作.

这是一个主要的问题,如果我没有指定vm args,那么构建将大约中途,然后在用完Java堆空间时失败.

对于我的jboss服务器(JBOSS6.4 – 7.5.0.Final redhat 21),可以观察到相同的确切行为,其中服务器将无法启动10次中的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上做同样的事情,这也没有帮助.

清理重启PC,然后关闭所有不必要的应用程序,打开intellij做一个maven构建然后它失败了,但是再多点击一次就像往常一样工作不一致. (注意此时只使用了16g中的6gb,没有办法存在内存不足)

*编辑

这台PC有16 GB的内存.虽然失败正在发生,但当时正在使用大约9.5GB.

解决方法:

最终,我能够通过更新正确的JDK来解决问题.
我的项目正在接收一个不正确的JDK,因此运行32位而不是64位JDK.

只需在File>下添加正确的JDK即可.项目设置.

似乎我的项目之前从未需要那么多内存,但一旦需求上升,似乎需要64位.

上一篇:为什么JBoss 5.1中的ShutdownHook中的java.util.Logger并不总是打印到server.log?


下一篇:java – 通过连接池将JMS消息发送到JBoss AS中的远程队列