I'm setting up an OpenMQ environment, which is a java-based messaging middleware.
I run the command imqbrokerd, which is a java executable, to start a broker, but keep getting the following:
The stack size specified is too small, Specify at least 228k Error: Could not create the Java Virtual Machine. Ошибка: произошло фатальное исключение. Программа закроется.
Чтобы проверить настройку по умолчанию, я использовал команду "java -XX: + PrintFlagsFinal -version" и обнаружил следующие записи, связанные с размером стека:
intx CompilerThreadStackSize = 0
intx ThreadStackSize = 1024
intx VMThreadStackSize = 1024
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
Является ли '1024' выше в байтах или килобайтах ?
Я знаю, что можно установить размер стека с помощью опции -Xss512K: java -Xss512K -j myjar.jar
Но как мне сделать то же самое для запуска исполняемого файла Java, такого как imqbrokerd?
Большое спасибо за поделитесь своими мыслями!
Спасибо, Ринзвинд! Следуя вашей подсказке, я обнаружил, что вместо указанного в документе документа мне нужно настроить размер стека с помощью -Xss
вместо -Xms
и Xmx
флаг. Тогда это началось успешно:
/opt/Oracle/MessageQueue/mq/bin$ ./imqbrokerd -vmargs "-Xss384k"
[18/Jun/2020:16:15:14 EDT]
================================================================================
Open Message Queue 4.5.2
Oracle
Version: 4.5.2 (Build 2-d)
Compile: Thu Dec 8 17:30:48 PST 2011
Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
================================================================================
Java Runtime: 1.8.0_201 Oracle Corporation /usr/lib/jvm/java-8-oracle/jre
[18/Jun/2020:16:15:14 EDT] IMQ_HOME=/opt/Oracle/MessageQueue/mq
[18/Jun/2020:16:15:14 EDT] IMQ_VARHOME=/opt/Oracle/MessageQueue/var/mq
[18/Jun/2020:16:15:14 EDT] Linux 4.4.0-177-generic amd64 erdbeer (4 cpu) bfzhou
[18/Jun/2020:16:15:14 EDT] Java Heap Size: max=188416k, current=188416k
[18/Jun/2020:16:15:14 EDT] Arguments:
[18/Jun/2020:16:15:14 EDT] [B1060]: Loading persistent data...
[18/Jun/2020:16:15:14 EDT] Using built-in file-based persistent store: /opt/Oracle/MessageQueue/var/mq/instances/imqbroker/
[18/Jun/2020:16:15:14 EDT] [B1270]: Processing messages from transaction log file...
[18/Jun/2020:16:15:15 EDT] [B1039]: Broker "imqbroker@erdbeer:7676" ready.