JVM调优维护常用工具之VisualVM 可视化优化工具

  VisualVM 是一个工具,它提供了一个可视界面,用于查看 Java 虚拟机 (Java Virtual Machine, JVM) 上运行的基于Java 技术的应用程序(Java 应用程序)的详细信息。VisualVM Java Development Kit (JDK) 工具所检索的 JVM 软件相关数据进行组织,并通过一种使您可以快速查看有关多个 Java 应用程序的数据的方式提供该信息。

  具体可以:

    1、查看本地应用程序以及远程主机上运行的应用程序的相关数据:

      1)显示虚拟机进程和进程的配置、环境信息(jpsjinfo)

      2)监视应用程序的CPUGC、堆、方法区及线程的信息(jstatjstack) dump及分析堆转储快照(jmap)

    2、捕获有关 JVM 软件实例的数据,并将该数据保存到本地系统,以供后期查看或与其他用户共享:

      1)方法级的程序运行性能分析找出被调用最多、运行时间最长的方法

      2)离线程序快照收集程序的运行时配置、线程dump、内存dump等信息建立一个快照可以将快照发送开发者处进行bug反馈等等
  下载安装好VisualVM后启动可能出现找不到java1.8 or higher的提示,将JAVAHOME的值配置到相应位置即可:

    etc/visualvm.conf文件中visualvm_jdkhome="C:\Program Files\Java\graalvm-jdk-17.0.10"修改为当前JAVAHOME。

  启动后初始如下:

            

  启动一个本地java应用程序:

            

  本地应用自动会在本地部分如上图显示出来。具体常用如下:

  1、堆转储快照

            

            

  2、分析程序性能

    Profiler页签中, 可以对程序运行期间方法级的CPU和内存进行分析,。这个操作会对程序运行性能有很大影响, 所以一般不再生产环境使用。CPU分析将会统计每个方法的执行次数、执行耗时; 内存分析则会统计每个方法关联的对象数及对象所占空间。

            

 

posted on 2024-05-28 20:42  池塘里洗澡的鸭子  阅读(76)  评论(0编辑  收藏  举报