Проверить ThreadStackSize программно? - PullRequest
2 голосов
/ 20 февраля 2012

Есть ли способ проверить ThreadStackSize программно?

У меня есть следующий код в файле jboss.conf Jboss 7.

 # Java Additional Parameters
wrapper.java.additional.1=-XX:MaxPermSize=512m
wrapper.java.additional.2=-Dorg.jboss.resolver.warning=true
wrapper.java.additional.3=-Dsun.rmi.dgc.client.gcInterval=3600000
wrapper.java.additional.4=-Dsun.rmi.dgc.server.gcInterval=3600000
wrapper.java.additional.5=-Djboss.modules.system.pkgs=org.jboss.byteman
wrapper.java.additional.6=-Dorg.tanukisoftware.wrapper.WrapperManager.mbean=false
wrapper.java.additional.7=-Dlogging.configuration=file:%JBOSS_HOME%/standalone/configuration/logging.properties
wrapper.java.additional.8=-Djava.util.logging.manager=org.jboss.logmanager.LogManager
wrapper.java.additional.9=-Dorg.jboss.logging.Logger.pluginClass=org.jboss.logging.logmanager.LoggerPluginImpl

**wrapper.java.additional.10=-XX:ThreadStackSize=256k**

Есть ли способ подтвердить, установлен ли ThreadStackSize на 256 Кб программным путем?

Ответы [ 2 ]

0 голосов
/ 02 апреля 2018

Прочитайте здесь: Обновите размер стека Java-потока во время выполнения

Возможно, вы можете попытаться получить переменную stackSize, используя отражение, и посмотреть, даст ли это вам что-нибудь полезное. Будьте осторожны:

/*
 * The requested stack size for this thread, or 0 if the creator did
 * not specify a stack size.  It is up to the VM to do whatever it
 * likes with this number; some VMs will ignore it.
 */
0 голосов
/ 20 февраля 2012

Проблема в том, что аргументы -XX зависят от конкретной реализации, поэтому основные классы Java не могут напрямую предоставлять эту информацию в виде простого getMaxStackSize().

В пакете java.lang.management есть много полезных метрик, таких как MemoryPoolMXBean. В частности, я не пробовал искать размер стека, но если вы покопаетесь, то можете его найти.

...