• 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进程
  • 相关阅读:
    【指针详解】(上)看一遍就会❗❗❗家人们冲❗
    关于在word中使用Axmath的报错的解决
    操作系统,计算机网络,数据库刷题笔记2
    融合通信 RDS服务器接口定义1.9
    LeetCode 15. 三数之和(C++)
    fastboot 找不到设备
    DeepPyramid:在白内障手术视频中实现金字塔视图和可变形金字塔接收的语义分割
    Simulink模型加密共享
    Kafka - 07 Zookeeper中存储的 Kafka 信息
    dolphinscheduler有任务一直在运行(问题)目前对数据库解决
  • 原文地址:https://blog.csdn.net/a772304419/article/details/126679194