有没有办法以编程方式检查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?
答案 0 :(得分:0)
问题是-XX args是特定于实现的,因此核心Java类不能直接将这些信息公开为简单的getMaxStackSize()
。
java.lang.management
包中有许多有用的指标,例如MemoryPoolMXBean
。我没有尝试过特别寻找堆栈大小,但如果你四处搜寻,你可能会发现它。
答案 1 :(得分:0)
请在此处阅读:Update a java thread's stack size at runtime
你可能会尝试使用反射来获取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.
*/