Jvm 无法在增加堆大小后启动Glassfish

Jvm 无法在增加堆大小后启动Glassfish,jvm,glassfish,heap-size,Jvm,Glassfish,Heap Size,我想增加我的玻璃鱼的堆大小。为此,我知道我可以达到4GB: java -Xmx4000M -version java version "1.6.0_26" Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425) Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode) 我试图在domain.xml文件中将-Xmx设置为2GB: <jvm-o

我想增加我的玻璃鱼的堆大小。为此,我知道我可以达到4GB:

java -Xmx4000M -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
我试图在domain.xml文件中将-Xmx设置为2GB:

<jvm-options>-Xmx2000m</jvm-options>
使用-v选项启动命令将提供以下功能:

12 oct. 2011 11:46:34 com.sun.enterprise.admin.launcher.GFLauncherLogger info
INFO: JVM invocation command line:
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java
-XX:+UnlockDiagnosticVMOptions
-XX:MaxPermSize=512m
-XX:NewRatio=2
-XX:+CMSClassUnloadingEnabled
-Xmx2000m
-Xms1000m
...
12 oct. 2011 11:46:35 com.sun.enterprise.admin.launcher.GFLauncherLogger info
INFO: Successfully launched in 45 msec.
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
Command start-domain failed.

在执行“-version”时,必须使用不同的Java安装,并且必须从GlassFish内部安装。我可以用Mac OS路径中的默认“java”重现相同的错误,但在使用绝对路径时则不能:

% /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java -Xmx2300m -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03-383-11A511)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-383, mixed mode)
% java -Xmx2300m -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.

可能是系统上没有足够的磁盘空间吗?保留4GB的RAM可能需要MAC OS来扩展交换空间,而您可能没有足够的磁盘空间来执行此操作。不幸的是,这让我以前很难受:-/

我发现了问题。出于某些我不理解的原因,“-d32”参数在命令中传递,要求以32位模式启动。添加时

<jvm-options>-d64</jvm-options>
-d64
对于domain.xml文件,glassfish启动。请注意,默认情况下,文件中不存在此选项

<jvm-options>-d64</jvm-options>