1

我想为 Eclipse 中的程序增加 Java 堆空间。在虚拟机参数中增加堆空间-Xmx1500m没有问题,但如果我增加 6 GB,我会收到以下错误:

最大堆大小无效:-Xmx6G

指定的大小超过了最大可表示大小。

如果我导出我开发的程序并将其作为 jar 文件在控制台的 bat 脚本中运行,则不会出现此问题。

有人知道为什么这个问题只发生在 Eclipse 中吗?

我的系统:

  • 视窗 7、64 位
  • 16GB 内存
  • Eclipse Juno,64 位
4

3 回答 3

3

尝试阅读此文档: 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
于 2013-01-16T23:11:31.230 回答
3

该消息告诉您-Xmx6G对于 Eclipse 尝试启动的 JVM 可执行文件来说太大了。它抱怨这么小的数字的事实告诉我,Eclipse 必须通过尝试启动 32 位 JVM 而不是 64 位的。相比之下,当您从命令行运行时,您将获得 64 位 JVM。

我的结论是您安装了 32 位和 64 位 JRE / JDK,并且您已经以某种方式将 Eclipse 配置为使用 32 位 JVM 来运行应用程序。

(我也会尝试使用小写的'g' ...)

于 2013-01-17T00:34:21.910 回答
2

谢谢斯蒂芬C!

不知何故安装了两个 JRE(我假设是通过奇怪的更新)。完全重新安装 Java 解决了这个问题。但是我不能只在 Eclipse 中更改 JRE ......

于 2013-01-17T08:26:40.290 回答