工具 VisualVM 对 dump 文件进行分析

VisualVM 是 JDK 自带的一个用于Java程序性能分析的工具。在JDK安装目录的 bin 文件夹下名称为 jvisualvm.exe。

概述

应用程序和运行时环境的基本信息

基本参数

  • PID:应用程序的进程ID
  • 主机:应用程序运行的系统地址
  • 主类:运行了main方法的类
  • 参数:应用启动时所传递的参数信息
  • JVM:当前的JVM信息
  • Java:当前使用的JDK信息
  • Java Home:JDK的位置
  • JVM标志:启动JDK时JVM使用的的标志

出现OOME时生产堆dump:当前出现OOME时生产堆dump功能的开启/禁用状态

保存的数据

  • 显示VisualVM存储的当前应用程序的信息

详细信息

  • JVM参数:配置的JVM启动的参数信息
  • 系统属性 :JVM运行的系统属性

监视

展示监听的当前应用程序的整体情况

  • CPU:CPU的使用百分比
  • 内存:内存的占用情况,包括内存大小、最大值和已经使用的大小
    • 堆:堆内存的大小和堆内存使用情况
    • Metaspace:元空间内存的使用情况
  • 类:显示了已经加载的类数量和共享类的数量
  • 线程:显示了应用程序在JVM中生存和守护线程的数量
  • 堆dump:执行堆dump,在新的标签页打开,查看dump的详细信息

线程

展示了应用程序的线程数据,包括所有线程数、活动线程数、完成线程数

线程dump:执行线程dump,在新标签页打开结果

抽样器

抽取CPU和内存的样例数据

设置——设置抽样参数

CPU抽样:

  • CPU样例:展示了方法级别CPU性能(执行的时间及占比)
  • 线程CPU时间:反映了线程执行占用cpu的时间和占比

内存抽样

  • 堆柱状图:展示了内存占用情况
  • 每个线程分配:展示了每个线程分配的内存以及占比

Profile

启动和停止本地应用程序的概要分析会话。

CPU:点CPU按钮,启动一个 CPU性能分析会话 ,显示 CPU 的使用率、方法的执行效率和频率等相关数据

内存:点击“内存”按钮将启动一个内存分析会话,等 VisualVM 收集和统计完相关性能数据信息,将会显示在性能分析结果

Visual GC

安装插件

工具——》插件

就会出现Visual CG 的标签


工具 VisualVM 对 dump 文件进行分析
https://flepeng.github.io/021-Java-42-JVM-工具-VisualVM-对-dump-文件进行分析/
作者
Lepeng
发布于
2024年4月19日
许可协议