最大堆大小无效。

15

我从另一个位置复制了一个JDK目录。从那时起,我就收到以下错误消息。

Your environment has been set.
java version "1.5.0_22"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_22-b03)
Java HotSpot(TM) Client VM (build 1.5.0_22-b03, mixed mode, sharing)
PROPS=-Xms1024m -Xmx5096m -Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl -Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl -Djava.ext.dirs=..;.;..\lib;..\classes -Dfile.encoding=UTF-8
CLASSPATH=C:\Oracle\MIDDLE~1\patch_wls1211\profiles\default\sys_manifest_classpath\weblogic_patch.jar;C:\PROGRA~1\Java\JDK15~1.0_2\lib\tools.jar;C:\Oracle\MIDDLE~1\WLSERV~1.1\server\lib\weblogic_sp.jar;C:\Oracle\MIDDLE~1\WLSERV~1.1\server\lib\weblogic.jar;C:\Oracle\MIDDLE~1\modules\features\weblogic.server.modules_12.1.1.0.jar;C:\Oracle\MIDDLE~1\WLSERV~1.1\server\lib\webservices.jar;C:\Oracle\MIDDLE~1\modules\ORGAPA~1.1/lib/ant-all.jar;C:\Oracle\MIDDLE~1\modules\NETSFA~1.0_1/lib/ant-contrib.jar;
Invalid maximum heap size: -Xmx5096m
The specified size exceeds the maximum representable size.
Could not create the Java virtual machine.

这是否意味着我需要重新安装JDK,而不仅仅是复制任何安装目录?我之所以问这个问题而不是自己尝试,是因为这个练习将在客户机器上完成。

当前机器是Windows 2008服务器,有12GB的RAM。


3
真的吗?1.5版本?无论如何,对于JDK实际位置没有依赖性。这个JDK是32位的,因此不支持5GB堆,从来没有支持过,无论是在这个位置还是在它的旧位置。 - Holger
2个回答

17

您正在使用32位的虚拟机(Java HotSpot(TM) Client VM),最多可以映射到4G(实际上只有2GB)的2^32个地址位置。32位JVM在64位操作系统上的最大Java堆大小

错误消息表明您正在使用不受32位架构支持的5GB堆内存

无效的最大堆大小:-Xmx5096m 指定的大小超过了最大可表示大小。

无法创建Java虚拟机。

您可以修改-Xmx参数,使用任何≤2g都应该可以解决这个问题。


4
我刚遇到了这个问题,通过下载 Windows 64位 JAVA 解决了它。
请检查您的 Windows 版本是 32 位还是 64 位,并下载正确版本的 JAVA。

3
我使用的是64位版本的Java,但仍然遇到了这个错误,你知道有什么原因吗? - Nisarg Patil
@NisargPatil,可以使用包含由空格分隔的“-X”选项的参数来执行Java。然后Java将无法解析此参数。 - eel ghEEz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接