How to adjust java stack size when starting a java executable?

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?

Большое спасибо за поделитесь своими мыслями!

0
задан 18 June 2020 в 16:57

1 ответ

Спасибо, Ринзвинд! Следуя вашей подсказке, я обнаружил, что вместо указанного в документе документа мне нужно настроить размер стека с помощью -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.
0
ответ дан 19 June 2020 в 21:23

Другие вопросы по тегам:

Похожие вопросы: