JVM配置监控 JMX 端口通,无法连接解决方案 
                                                    
                        
                    
                    
  
                    
                    问题:
其他机器配置了jvm 监控都能连上,唯独两台始终连不上
故障排查:
- 端口可以通 telnet ip port 正常连接
 - 使用 
VisualVm工具无法正常连接 
解决方案:
- 命令行执行 
hostname -i看下是否返回我们服务器的IP 
初次返回的IP 是 181 导致 jar 进程都找不到

- 如果上面的IP 不是我们得机器IP ,调整 
sudo vim /etc/hosts
我们主机名是bankadapter02 
对应之前的IP 之前是192.1.11.181 bankadapter02
修改之后192.1.11.186 bankadapter02
- 上面修改完毕,重启java 服务,使用VM 工具连接正常
 

JVM 配置
JVM_OPTS="-server -Xmx6g -XX:+UseG1GC -XX:MaxGCPauseMillis=300 -XX:+HeapDumpOnOutOfMemoryError"
JMX_GC_OPTS="-XX:+PrintGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintHeapAtGC -Xloggc:logs/185-gc.`date '+%F_%H%M'`.log"
JMX_VM_OPTS="-Dcom.sun.management.jmxremote.port=10090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
nohup java -Dloader.path="./lib"  -Duser.timezone=GMT+08 -Djasypt.encryptor.password=jllriskpwd -jar $DEBUG_OPTS $JVM_OPTS $JMX_GC_OPTS $JMX_VM_OPTS $JAR_FILE $SPRING_PORT >> $APP_LOG/system.out 2>&1 &
配置完毕,重启对应的服务即可连接 10090 端口
如有疑问,欢迎留言
排查问题过程中发现之前的 GC 回收机制也有问题,配置的1g 75% 回收,导致的现象就是 接口很有规律的 几十个快的,后面同样的接口最长要5秒才返回, 修改垃圾回收方式 用  -XX:+UseG1GC -XX:MaxGCPauseMillis=300 解决问题
-Xmx6g 最大回收范围我们设置的内存的2/3 左右
本作品采用《CC 协议》,转载必须注明作者和本文链接
          
          
          
                关于 LearnKu