• jvm VisualVM工具的使用:使用jvisualvm监控远程tomcat jvm进程


    VisualVM,能够监控线程,内存情况,查看方法的CPU时间和内存中的对 象,已被GC的
    对象,反向查看分配的堆栈(如100个String对象分别由哪几个对象分配出来的)。
    VisualVM使用简单,几乎0配置,功能还是比较丰富的,几乎囊括了其它JDK自带命令的 所有功能。

    • 内存信息
    • 线程信息
    • Dump堆(本地进程)
    • Dump线程(本地进程)
    • 打开堆Dump。堆Dump可以用jmap来生成。
    • 打开线程Dump
    • 生成应用快照(包含内存信息、线程信息等等)
    • 性能分析。CPU分析(各个方法调用时间,检查哪些方法耗时多),内存分析(各类
      对象占用的内存,检查哪些类占用内存多)
    • ……

    启动

    在jdk的安装目录的bin目录下,找到jvisualvm.exe,双击打开即可。

    Linux下,执行$JAVA_HOME/bin/jvisualvm即可打开

    在这里插入图片描述

    查看线程信息及线程dump

    在这里插入图片描述

    监控远程的jvm进程

    VisualJVM不仅是可以监控本地jvm进程,还可以监控远程的jvm进程,需要借助于JMX技 术实现。

    什么是JMX?

    JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。

    示例:监控远程的tomcat jvm进程

    修改tomcat的如下配置文件,重启tomcat

    #在tomcat的bin目录下,修改catalina.sh,添加如下的参数
    JAVA_OPTS="‐Dcom.sun.management.jmxremote 
    ‐Dcom.sun.management.jmxremote.port=9999 
    ‐Dcom.sun.management.jmxremote.authenticate=false 
    ‐Dcom.sun.management.jmxremote.ssl=false"
    
    #这几个参数的意思是:
    #‐Dcom.sun.management.jmxremote :允许使用JMX远程管理
    #‐Dcom.sun.management.jmxremote.port=9999 :JMX远程连接端口
    #‐Dcom.sun.management.jmxremote.authenticate=false :不进行身份认证,任何用
    户都可以连接
    #‐Dcom.sun.management.jmxremote.ssl=false :不使用ssl
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    使用visualvm工具连接远程的tomcat

    在这里插入图片描述

    • 第一步:添加远程主机
    • 第二步:添加jmx连接
    • 第三步:用法同本地jvm进程
  • 相关阅读:
    全面UI组件库Telerik——为驱动制造业生产商提升生产效率赋能
    【算法笔记】Kruskal/Prim算法——求解最小生成树问题
    matplotlib图表的常用设置(一)
    利用Vue+Echarts完成可视化任务
    redis未授权访问漏洞
    面试系列 - Redis持久化机制详解
    preview_220624,Day08_DM层建设实战,
    Spring MVC 中文文档
    (09_13)杭州站|阿里云 Serverless 技术实践营(Serverless + 大数据)开启报名!
    立创EDA导出元件的AD封装报错的解决方法
  • 原文地址:https://blog.csdn.net/a772304419/article/details/126679194