JDK1.5+后,有个很方便的工具jconsole跟踪jvm的stack trace,特别在多线程编程,可以方便跟踪各个线程的行踪,在发生线程阻塞或者死锁时,方便定位问题。
启动时,加一个参数-Dcom.sun.management.jmxremote
例如
$JAVA_HOME/bin/java -Xmx1024m -Dcom.sun.management.jmxremote $MAIN_CLASS
如果是监控远程应用,修改称这样吧:
# Setup Jconsole connection
JAVA_OPTS="-Dcom.sun.management.jmxremote=true $JAVA_OPTS"
JAVA_OPTS="-Dcom.sun.management.jmxremote.port=9004 $JAVA_OPTS"
JAVA_OPTS="-Dcom.sun.management.jmxremote.authenticate=false $JAVA_OPTS"
JAVA_OPTS="-Dcom.sun.management.jmxremote.ssl=false $JAVA_OPTS"
本文介绍如何通过JDK1.5+自带的工具JConsole来监控Java应用程序的JVM状态,特别是对于多线程环境下的线程追踪,能够帮助开发者有效定位线程阻塞或死锁等问题。文中详细说明了配置远程监控所需的参数。
840

被折叠的 条评论
为什么被折叠?



