我想为Eclipse中的程序增加Java堆空间。在虚拟机参数中使用-Xmx1500m
增加堆空间没有问题,但是如果我使用6 GB增加堆空间,我会得到以下错误:
最大堆大小无效:-Xmx6G
指定的大小超过可表示的最大大小。
如果我导出我开发的程序并在控制台中以bat-script的jar文件运行它,则不会出现此问题。
有人知道为什么这个问题只发生在Eclipse中吗?
我系统:- Windows 7, 64Bit
- 16gb内存
- Eclipse Juno, 64Bit
消息告诉您,对于Eclipse试图启动的JVM可执行文件来说,-Xmx6G
太大了。它对这么小的数字抱怨的事实告诉我,Eclipse必须尝试启动32位JVM而不是64位JVM。相比之下,当您从命令行运行时,您将获得64位JVM。
我的结论是,您已经安装了32位和64位JRE/JDK,并且您已经以某种方式将Eclipse配置为为应用程序使用32位JVM。
(我也会尝试用小写的'g'…)
试着阅读这个文档:http://javahowto.blogspot.co.uk/2006/06/6-common-errors-in-setting-java-heap.html .它提供了6个与Java堆大小设置相关的最常见错误。在你的情况下,问题如下:
问题:堆大小比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
谢谢Stephen C!
不知何故安装了两个jre(我假设是通过奇怪的更新)。完全重新安装Java解决了这个问题。但是我不能在eclipse中更改JRE…