JVM配置监控 JMX 端口通,无法连接解决方案

问题:

其他机器配置了jvm 监控都能连上,唯独两台始终连不上

故障排查:

  1. 端口可以通 telnet ip port 正常连接
  2. 使用 VisualVm 工具无法正常连接

解决方案:

  1. 命令行执行 hostname -i 看下是否返回我们服务器的IP

初次返回的IP 是 181 导致 jar 进程都找不到

JMX 端口通,无法连接解决方案

  1. 如果上面的IP 不是我们得机器IP ,调整 sudo vim /etc/hosts
    我们主机名是 bankadapter02

对应之前的IP 之前是
192.1.11.181 bankadapter02
修改之后
192.1.11.186 bankadapter02

  1. 上面修改完毕,重启java 服务,使用VM 工具连接正常

JMX 端口通,无法连接解决方案

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 协议》,转载必须注明作者和本文链接
每天一点小知识,到那都是大佬,哈哈
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!