我想为 Eclipse 中的程序增加 Java 堆空间。在虚拟机参数中增加堆空间-Xmx1500m
没有问题,但如果我增加 6 GB,我会收到以下错误:
最大堆大小无效:-Xmx6G
指定的大小超过了最大可表示大小。
如果我导出我开发的程序并将其作为 jar 文件在控制台的 bat 脚本中运行,则不会出现此问题。
有人知道为什么这个问题只发生在 Eclipse 中吗?
我的系统:
- 视窗 7、64 位
- 16GB 内存
- Eclipse Juno,64 位
我想为 Eclipse 中的程序增加 Java 堆空间。在虚拟机参数中增加堆空间-Xmx1500m
没有问题,但如果我增加 6 GB,我会收到以下错误:
最大堆大小无效:-Xmx6G
指定的大小超过了最大可表示大小。
如果我导出我开发的程序并将其作为 jar 文件在控制台的 bat 脚本中运行,则不会出现此问题。
有人知道为什么这个问题只发生在 Eclipse 中吗?
我的系统:
尝试阅读此文档: http: //javahowto.blogspot.co.uk/2006/06/6-common-errors-in-setting-java-heap.html。它提供了与 Java Heap 相关的 6 个最常见错误尺寸设置。在您的情况下,问题如下:
问题:堆大小比 JVM 认为你需要的要大。例如:
java -Xmx256g BigApp
Invalid maximum heap size: -Xmx256g
The specified size exceeds the maximum representable size.
Could not create the Java virtual machine.
解决方案:
The fix is to lower it to a reasonable value: java -Xmx256m BigApp
该消息告诉您-Xmx6G
对于 Eclipse 尝试启动的 JVM 可执行文件来说太大了。它抱怨这么小的数字的事实告诉我,Eclipse 必须通过尝试启动 32 位 JVM 而不是 64 位的。相比之下,当您从命令行运行时,您将获得 64 位 JVM。
我的结论是您安装了 32 位和 64 位 JRE / JDK,并且您已经以某种方式将 Eclipse 配置为使用 32 位 JVM 来运行应用程序。
(我也会尝试使用小写的'g' ...)
谢谢斯蒂芬C!
不知何故安装了两个 JRE(我假设是通过奇怪的更新)。完全重新安装 Java 解决了这个问题。但是我不能只在 Eclipse 中更改 JRE ......