VM初始化时发生错误; 无法保留足够的空间来存储对象堆。使用-Xmx3G。

104

首先,我有一台8GB的内存电脑,因此我怀疑总内存不是问题所在。 该应用在6GB或更小内存的机器上运行良好。

我正在尝试在Eclipse的“运行配置”下使用“VM参数”来保留3GB的空间,命令为-Xmx3G。

每次我尝试保留超过1500MB的空间时,我都会收到以下错误提示:“初始化VM时发生错误;无法为对象堆保留足够的空间”。

这是怎么回事?


2
你使用的Java版本是什么?你正在运行哪个操作系统? - Adam Rofer
这是Win7系统,我安装了3个不同版本的Java。其中一个是32位JRE,Eclipse正在使用它。 - user1212731
3
别忘了将一个答案标记为正确的答案。 - xdhmoore
只需在 gridle.property 中更改设置,使用适当的空间即可。 - Bhushan
16个回答

0

可能你无论如何都在尝试错误的选项。 我得到了一个类似的错误,并支持错误日志:

Java HotSpot(TM) Client VM warning: ignoring option PermSize=32M; support was removed in 8.0
Java HotSpot(TM) Client VM warning: ignoring option MaxPermSize=128M; support was removed in 8.0

在我的情况下,软件尚不支持Java 8(脚本使用旧的JVM参数),但我默认已经有Java 8。

0

这个问题的一个原因是Tomcat没有可用的内存来启动。尝试从Windows中删除不需要运行的软件,然后重新启动Eclipse和Tomcat。


0

解决方案很简单,不需要深入研究这个问题。

如果您正在使用64位计算机,则按照以下步骤操作:

  • 首先卸载32位Java(在C:\Program Files(x86)中检查其是否存在)
  • 安装更新版本的JDK 64位套件(包括JRE)
  • 设置环境路径(为避免发生冲突错误,如果您有两个不同的64位JRE,请务必这样做)
  • 通过键入javac命令在命令提示符中检查
  • 重新启动/完成

您可以安装两种不同的Java,但不要忘记设置路径。


0

查找您正在使用的Java版本是32位还是64位。要知道,请使用以下命令:

java -version

输出的第三行应该告诉您它是32位还是64位。

enter image description here

如果是32位则卸载并安装64位版本。


0
请在环境变量中设置JAVA_OPTS=-Xms256m -Xmx512m,这应该可以解决问题,对我有用。

0

我知道这是一个与Eclipse相关的问题,但我在Android Studio中遇到了这个问题。我要发布我所做的事情,以防有人在Android Studio中遇到这个错误。 首先,我在gradle.properties中有以下行:

org.gradle.jvmargs=-Xmx2048m

如果我删除这行代码,问题就解决了,但这不是正确的方法。 你需要做的是设置适当的Gradle JDK。 进入文件->设置->构建、执行、部署->构建工具-Gradle,将Gradle JDK设置为类似于xx java version "xx.x.xx" C:/Program Files/Android/Android Studio/jbr的内容。 请注意:此解决方案仅适用于Android Studio。

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