增加Java堆空间:Eclipse与BAT脚本

时间:2013-01-16 22:35:33

标签: java heap

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

  

无效的最大堆大小:-Xmx6G

     

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

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

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

我的系统:

  • Windows 7,64位
  • 16GB RAM
  • Eclipse Juno,64位

3 个答案:

答案 0 :(得分:3)

尝试阅读本文档:http://javahowto.blogspot.co.uk/2006/06/6-common-errors-in-setting-java-heap.html。它提供了与Java堆大小设置相关的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

答案 1 :(得分:3)

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

我的结论是你有32位和64位JRE / JDK安装,并且你已经以某种方式配置Eclipse以便为应用程序使用32位JVM。

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

答案 2 :(得分:1)

谢谢Stephen C!

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