zoukankan      html  css  js  c++  java
  • JavaVisualVM配置远程调试jmx之踩坑日记

      懒散了许久,很久没有写博客了。因疫情过后新换工作,正式投入的ERP的开发与学习中。也正式入坑外包公司,发现外包似乎并没有传说中的:'你是外包不可以偷吃公司零食'。总体来说,国企上班制度还是挺好的,有更多的时间去思考之后的规划及职业发展了。本着技术人不断学习的精神,最近又开始学习java生产环境的课程了,之后会分享一系列相关的知识总结,共勉。

      回归正题,如何配置远程监控程序的运行状态呢?这里推荐使用jdk自带的jvisualvm软件。

      1、在服务器的Tomcat的bin目录下,修改catalina.sh配置文件。

      找到JAVA_OPTS="$JAVA_OPTS $JSSE_OPTS"(PS:vim中查找字符方式为/字符)。在此之上补充对JAVA_OPTS的设置。

      2、ps -ef | grep tomcat 得到pid

      3、kill -9 pid,杀死tomcat进程

      4、./startup.sh重新启动tomcat

      5、打开jvisualvm软件,右键远程,添加远程服务器

      6、在远程服务器上右键添加jmx连接

       7、自信满满的点击了确定,以为能够成功了。(PS:因使用的服务器为阿里云的,所以需要配置安全组规则,否则无法访问对应的端口)天不遂人愿,连接失败,报错信息为:jvisualvm来连接VM的时候,报无法使用错误:service:jmx:rmi:....连接到ip:port

      8、上网百度,各种猜测,网上的解决方案大概为:排查防火墙是否关闭、catalina.sh配置不生效。

      9、查看防火墙的状态:systemctl status firewalld

     

       10、配置不生效不好排查了,头疼了咋办呢?

      11、往往一条路走不通的时候,可以试试另一条路,那么我们换个思路来排查。查下tomcat 进程占用的端口号

        根据进程查端口号:netstat -antup | grep pid 

        根据端口号查看进程:netstat -ntlp | grep port

       12、发现配置了8080和9004的端口号,我们已经在安全组中添加了,但是37231和42108的没有添加,问题是不是这个导致的呢,百度一下。发现如下:

       13、那么我们在安全中把这两个被监听的端口号配置上,再试一下。功夫不负有心人,结果就成功了。

     

  • 相关阅读:
    无法重用Linq2Entity Query
    The Joel Test
    MSBuilder directly instead of default VSComplie with keyborad shotcut 原创
    客户端缓存(Client Cache)
    关于代码重构和UT的一些想法,求砖头
    ExtJS2.0实用简明教程 应用ExtJS
    Perl information,doc,module document and FAQ.
    使用 ConTest 进行多线程单元测试 为什么并行测试很困难以及如何使用 ConTest 辅助测试
    史上最简单的Hibernate入门简介
    汽车常识全面介绍 传动系统
  • 原文地址:https://www.cnblogs.com/cecWork/p/12953655.html
Copyright © 2011-2022 走看看