2

有没有办法以编程方式检查 ThreadStackSize?

我在 Jboss 7 的 jboss.conf 文件中有以下代码。

 # 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 是否已以编程方式设置为 256k?

4

2 回答 2

0

问题是 -XX 参数是特定于实现的,因此核心 Java 类不能直接将该信息公开为简单的getMaxStackSize().

包中有很多有用的指标java.lang.management,例如MemoryPoolMXBean. 我没有尝试特别寻找堆栈大小,但是如果您四处挖掘,您可能会找到它。

于 2012-02-20T14:38:13.207 回答
0

在这里阅读:在运行时更新 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.
 */
于 2018-04-02T03:20:09.107 回答