首先,我有一个8gb内存的盒子,所以我怀疑总内存是什么问题。 此应用程序在6GB或更低的计算机上运行良好。
我试图在Eclipse中的“运行配置”中的“VM Arguments”下使用-Xmx3G保留3GB的空间。
每当我尝试保留超过1500mb时,我都会收到此错误: “VM初始化期间出错;无法使用-Xmx3G
为对象堆保留足够的空间这里发生了什么?
答案 0 :(得分:60)
可能是你在那台机器上使用32位jvm吗?
答案 1 :(得分:50)
以下是修复方法:
转到 Start->Control Panel->System->Advanced(tab)->Environment Variables->System
Variables->New:
Variable name: _JAVA_OPTIONS
Variable value: -Xmx512M
Variable name: Path
Variable value: ;C:\Program Files\Java\jre6\bin;F:\JDK\bin;
将此更改为适当的路径。
答案 2 :(得分:39)
这实际上不是特定于Eclipse的问题;这是一般的 Java-on-Windows问题。这是因为JVM如何分配内存 视窗;它坚持分配一块连续的内存,这个 经常Windows无法提供,即使有足够的单独块 满足分配请求。 有些实用程序会尝试帮助Windows“碎片整理”其内存, 从理论上讲,这将有助于这种情况;但我还没试过 他们认真,所以不能说出他们的有效性。 我听过有时可能有帮助的一件事是重启Windows 并且,在启动任何其他应用程序之前,启动需要的Java应用程序 大块的记忆。如果你很幸运,Windows将不会支离破碎 内存空间和Java将获得要求的连续块。
在互联网的某个地方有更多的技术解释和 分析这个问题,但我没有任何参考方便。
我确实找到了这个,看起来很有用:https://stackoverflow.com/a/497757/639520
答案 3 :(得分:20)
首先,32位的JRE不能使用更多~1.5Gb的ram。因此,如果您想要更多,请使用64位JRE。
其次,当一个新的JVM启动时,这会将所有正在运行的JVM的-Xmx属性相加,并检查系统上是否有足够的内存在自己的-Xmx上运行,如果还不够,那么发生错误。
答案 4 :(得分:15)
我在Eclipse IDE中使用Liferay和Tomcat服务器。 点击服务器启动时我遇到了同样的错误。 双击eclipse中的服务器。 它打开了服务器概述页面。更新了-Xmx1024m -XX的内存参数:MaxPermSize = 256m至-Xmx512m -XX:MaxPermSize = 256m。 然后它为我工作。
答案 5 :(得分:8)
确保Eclipse实际上运行您认为正在运行的JVM。如果您曾经在Web浏览器中使用过Java,那么您可能会有一个32位版本,如果最近安装或更新它可能会优先考虑。
为了绝对确定,我建议将这两行添加到顶部的eclipse.ini
文件中:
-vm
C:/Java/jdk1.6.0_27/bin
...在我的机器C:/Java/jdk1.6.0_27/bin
上的位置,我所知道的JVM是64位。请确保在那里有bin
文件夹。
(作为奖励,在Windows 7上,这也允许你实际“固定标签”,这就是为什么我必须为自己的用途这样做)
答案 6 :(得分:4)
这是堆大小的问题。编辑.bat
(批处理文件)。它可能显示堆大小1024.将其更改为512然后它应该工作。
答案 7 :(得分:2)
在使用32位的Eclipse时,我也遇到了同样的问题,它使用的JVM是64位。 当我将Eclipse路由到32位JVM时,它就可以工作了
答案 8 :(得分:1)
我知道我来晚了,但是我的答案来了:
我刚刚从Oracle安装了Java在线版本(不是离线的64位版本)。
添加JAVA_HOME ENV变量后,它就可以正常工作!
希望我能帮助您:)
答案 9 :(得分: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。
答案 10 :(得分:0)
此问题的原因之一是Tomcat无法启动内存。尝试从Windows中删除不需要的运行软件,然后重新启动eclipse和tomcat。
答案 11 :(得分:0)
只需在gradle.properties的#
前面放置org.gradle.jvmargs=-Xmx1536m
符号
# org.gradle.jvmargs=-Xmx1536m
答案 12 :(得分:0)
解决方案是简单的。无需深入探讨这个问题。
如果您在 64 位 机器上运行,请按照以下步骤操作:
的您可以有两个不同的Java安装,但不要忘了设定的路径。的