Tomcat 7 JMX 未在 jconsole 中显示任何线程

Tomcat 7 JMX not showing any threads in jconsole

我在 Tomcat 7 中启用了 JMX,我可以在 JConsole 和 VisualVM 中看到大部分数据,线程除外。它不报告任何 JVM thread 数据(但会报告堆和 CPU 数据)。

我做错了什么?

Tomcat 7.0.59 运行 在 FreeBSD 10.1 (amd64) 上。 OpenJDK 64 位服务器 VM 版本 24.80-b11。 使用启动参数启用的 JMX:“-Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=xx.xx.xx.xx -Dcom.sun.management.jmxremote.ssl=假 -Dcom.sun.management.jmxremote.authenticate=false"

编辑(或创建)$CATALINA_HOME/bin/setenv.sh

export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote"
export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.port=11999"
export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.ssl=false"
export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.authenticate=true"
export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.password.file=$CATALINA_HOME/conf/jmxremote.password"
export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.access.file=$CATALINA_HOME/conf/jmxremote.access"

$CATALINA_HOME/conf/jmxremote.access:

****grant readwrite access for your account then you can see threads****
yourAccount readwrite

$CATALINA_HOME/conf/jmxremote.password:

yourAccount yourPassword

然后更改这些文件的模式:

$chmod 600 $CATALINA_HOME/conf/jmxremote.access

$chmod 600 $CATALINA_HOME/conf/jmxremote.password

然后启动您的Tomcat并使用正确的ip、端口、帐户和密码登录。