jmx远程连接
jmx远程连接失败
本人写了一个多线程的任务,发现工作了一段时间,线程发生了死锁。于是使用jvm分析工具,jconsole,jvisual工具去处理。jmx配置完成后,发现jconsole一会连的上,一会连不上。很是纳闷。网上说配置了jmx端口即可。因为远程服务器是生产上的服务器,只开放固定的端口。本地telnet 都是通的。但是还是连不上。发现最后jmx会随机启动2个端口。这两个端口没有开通。导致连不上。最后把这两个端口写死。就连接上了。
#!/usr/bin/env bash
source /etc/profile
IP=10.96.2.57
JMX_PORT=9094
MEM=1024
JAVA_OPTS="-server \
-Dcom.sun.management.jmxremote\
-Dcom.sun.management.jmxremote.authenticate=false\
-Djava.rmi.server.hostname=10.96.2.57\
-Dcom.sun.management.jmxremote.ssl=false\
-Dcom.sun.management.jmxremote.port=${JMX_PORT}\
-Dcom.sun.management.jmxremote.rmi.port=9095
-Xmx${MEM}m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=4\
"
project=bdp-forward-0.0.1.jar
logname=forward_console.log
base_dir=$(dirname $0)
pid=`ps -ef | grep $project | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
kill -9 $pid
fi
nohup java ${JAVA_OPTS} -jar ${base_dir}/lib/$project $main_class > ${base_dir}/log/$logname 2>&1 &