我有一个需要大量内存的程序,并希望将最大堆空间设置为6024MB。 Java给了我错误:
Invalid maximum heap size: -Xmx6024m
The specified size exceeds the maximum representable size.
有解决方法吗?
答案 0 :(得分:5)
在不同Java VM之间可以分配多少堆之间存在很大差异。例如。 Sun的VM需要将内存分配为操作系统中的单个块。 Oracle的JRockit VM不存在此限制。它也取决于操作系统 - 例如我能够使用Linux为Sun的VM分配更多的堆,而不是使用Windows XP。另请注意,我在某处读到了64位操作系统的问题......
编辑:
Here's a blog entry关于32位Windows操作系统上Sun的JVM和Java堆空间问题。
答案 1 :(得分:1)
这是64位虚拟机吗?如果是这样,您应该可以像使用那样使用开关。