JVM调优使用工具03(JMC)
目录
可视化工具
1.JMC
参考文档:
https://dzone.com/articles/using-java-flight-recorder-with-openjdk-11-1
JDK Mission Control:
JMC两大功能:
1.作为JMX控制台,监控虚拟机MBean提供的数据:
JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架。
JMX是一套标准的代理和服务,实际上,用户可以在任何Java应用程序中使用这些代理
和服务实现管理。主要用于对JAVA应用程序和JVM进行监控和管理。
JConsole和JVisualVM中能够监控到JAVA应用程序和JVM的相关信息都是通过JMX实现的。
2.可持续收集数据JFR(Java Flight Recorder), 并可作为
JFR的可视化分析工具。
JFR(Java Flight Recorder)是一种用于收集有关运行中的Java
应用的诊断信息和性能收集的工具。它几乎没有性能开销,因此在负载
很大的生产环境中也可以使用。
优点:
支持对JFR支持
JFR在生产环境中对吞吐量的影响一般不会高于1%
JFR监控过程动态,无需重启
JFR提供数据质量非常高,对监控、排查的参考价值更大
缺点:
JMC似乎无法分析dump文件(hpro格式)
2.下载
JMC独立出来并开源了,所以我们可以单独下载
下载地址:https://jdk.java.net/jmc/
3.界面窗口
MBean服务器:作为控制台相关能力
飞行记录器:JFR可视化相关能力
1.MBean服务器
很多窗口功能大同小异。
触发器窗口:
可以设置一些条件,然后触发事情,例如:
cpu超过设置的70%阈值,报警和发送邮件。
诊断命令窗口:
相当于把jcmd命令可视化了
2.飞行记录器(可以提供优化建议)
小于JDK11需要设置启动VM参数:
-XX:+UnlockCommercialFeatures
-XX:+FlightRecorder
启动飞行记录,监控应用性能:
名称: //随便起
固定时间记录 //设置监控时间
模板管理器(有很多模板):
Continuous //持续行模板
Profiling //性能模板(给出性能建议)
这里我们选择Profiling-新键模板,把配置都勾上。
生成报告(当前应用可能会存在哪些性能问题):
1.cpu是否过高
2.内存
可以点击表格按钮,按照优先级问题排列。