6

Glassfish のヒープ サイズを増やしたいと考えています。そのために、最大 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>

しかし、次のエラーが発生します。

asadmin> start-domain
Waiting for ... to start .Error starting domain ...
The server exited prematurely with exit code 1.
Before it died, it produced the following output:

Error occurred during initialization of VM
The size of the object heap + VM data exceeds the maximum representable size
launchctl bsexec failed: Inappropriate ioctl for device

-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.
4

3 に答える 3

12

問題が見つかりました。私が理解できないいくつかの理由で、「-d32」引数がコマンドで渡され、32 ビット モードで開始するように求められました。追加時

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

domain.xml ファイルに追加すると、glassfish が起動します。このオプションは、デフォルトではファイルに存在しないことに注意してください。

于 2011-10-13T07:38:57.973 に答える
0

「-version」を実行するときと GlassFish 内から異なる Java インストールを使用している必要があります。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.
于 2011-10-12T14:45:52.183 に答える
0

システムに十分なディスク容量がない可能性がありますか? 4 GB の RAM を予約するには、MAC OS がスワップ領域を拡張する必要があり、これを行うためのディスク領域がない場合があります。残念ながら、これは以前に私を燃やしました:-/

于 2011-10-12T18:16:04.373 に答える