文章说明linux系统下对Dubbo服务进行远程Debug、远程Jconsole
一、远程Debug
1、修改Dubbo项目下的/bin/start.sh中远程调试端口(address),保证其唯一,代码如下所示:
JAVA_DEBUG_OPTS=""
if [ "$1" = "debug" ]; then
JAVA_DEBUG_OPTS=" -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=6000,server=y,suspend=n "
fi
2、修改Dubbo项目下的/bin/restart.sh文件,并重启Dubbo服务,代码如下所示:
./stop.sh ./start.sh debug
3、window下基于Eclipse进行远程调试

二、远程Jconsole
1、修改Dubbo项目下的/bin/start.sh中远程链接端口(com.sun.management.jmxremote.port),保证其唯一,代码如下所示:
JAVA_JMX_OPTS=""
if [ "$1" = "jmx" ]; then
JAVA_JMX_OPTS=" -Dcom.sun.management.jmxremote.port=6019 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false "
fi
2、修改Dubbo项目下的/bin/restart.sh文件,并重启Dubbo服务,代码如下所示:
./stop.sh ./start.sh jmx
3、window系统基于本地JDK jconsole 对远程JVM进行监视,打开JAVA_HOME/bin/jconsole.exe ,具体使用详情如下所示:


可以对其内存、线程等信息进行监控。当然对本地的程序的性能进行监控也是可以的。
本文介绍如何在Linux系统下配置Dubbo服务,实现远程Debug及使用Jconsole进行远程监控。通过修改start.sh文件中的调试端口与JMX远程链接端口,确保端口唯一性。随后通过特定命令重启服务并使用Eclipse或JDK自带的jconsole工具进行远程连接。
2621

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



