Не удалось запустить Glassfish после увеличения размера кучи - PullRequest
6 голосов
/ 12 октября 2011

Я хочу увеличить размер кучи моей Glassfish. Для этого я знаю, что могу увеличить до 4 ГБ:

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 на 2 ГБ:

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

Ответы [ 3 ]

12 голосов
/ 13 октября 2011

Я нашел проблему. По некоторым причинам, которые я не понимаю, в команде был передан аргумент «-d32», запрашивающий запуск в 32-битном режиме. При добавлении

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

в файл domain.xml, запускается glassfish. Обратите внимание, что эта опция по умолчанию отсутствует в файле.

0 голосов
/ 12 октября 2011

Может быть, в вашей системе недостаточно места на диске?Для резервирования 4 ГБ ОЗУ может потребоваться MAC OS для расширения пространства подкачки, и у вас может не хватить места на диске для этого.К сожалению, это сожгло меня раньше: - /

0 голосов
/ 12 октября 2011

вы должны использовать другую установку Java, когда выполняете "-version" и из GlassFish. Я могу воспроизвести ту же ошибку со стандартным «java» в пути Mac OS, но не при использовании абсолютного пути:

% /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.
...