JDK14后引入了JFR。JFR和JMC是JVM监控和分析工具。

JMC是JDK自带的工具

  1. jconsole:JDK自带的可视化监控工具。查看Java应用程序的运行概况、监控堆信息、永久区(或元空间)使用情况、类加载情况等。
  2. Visual VM:Visual VM是一个工具,它提供了一个可视界面,用于查看Java虚拟机上运行的基于Java技术的应用程序的详细信息。
  3. JMC:Java Mission Control,内置Java Flight Recorder。能够以极低的性能开销收集Java虚拟机的性能数据。

 

以下是采用JFR和JMC分析JVM步骤:

1 JFR启动

在启动java程序时,可以通过jvm参数配置参数启动JFR:

 java -XX:StartFlightRecording:filename=myrecording.jfr,delay=1m,duration=5m,settings=profile myapp.jar

  • filename=myrecording.jfr:指定 JFR 文件的名称。

  • delay=1m:延迟 1 分钟开始记录。

  • duration=5m:记录 5 分钟。

  • settings=profile:使用预定义的配置文件 profile,它包括了多种事件类型

2 使用JMC

2.1 安装并启动JMC

  • 从 Oracle 官网下载并安装 Java Mission Control
  • 启动 JMC:运行 JMC 应用程序。

2.2 加载和查看 JFR 文件

  1. 在 JMC 中,选择“File” > “Open Flight Recording...”。

  2. 选择之前创建的 myrecording.jfr 文件并打开它。

  3. 使用 JMC 的各种视图和工具来分析性能数据。例如,你可以查看 CPU 使用情况、线程活动、内存分配、锁竞争等。

2.3. 分析数据

在 JMC 中,你可以使用以下几种视图来分析数据:

  • Overview:提供应用程序的整体视图,包括 CPU 使用率、内存使用情况等。

  • Threads:查看线程活动,帮助识别瓶颈或死锁。

  • Events:查看特定事件,如垃圾收集、JIT 编译等。

  • Profiler:分析内存使用情况和对象分配。

  • Heap Walker:深入分析堆内存,查找内存泄漏或不必要的对象。

2.4. 导出和分享数据

你可以将分析结果导出为 CSV 或 HTML 文件,以便与团队成员分享或进一步分析。在 JMC 中,选择“File” > “Export Flight Recording...”来导出数据。

通过上述步骤,你可以有效地使用 JFR 和 JMC 来监控和优化 Java 应用程序的性能。

 

更多JVM监控工具参考 https://blog.csdn.net/weixin_60707895/article/details/121057600

posted on 2025-07-06 13:35  colorfulworld  阅读(105)  评论(0)    收藏  举报