文章说明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 ,具体使用详情如下所示:
可以对其内存、线程等信息进行监控。当然对本地的程序的性能进行监控也是可以的。