java 8 飞行记录仪,Java的JMC和飞行记录器FlightRecord

本文介绍了Java Mission Control(JMC)及其组件飞行记录器Flight Recorder的使用,强调了它们在性能分析中的重要性。文章指出,Flight Recorder只能在Oracle JDK的Java 7及以上版本中启用,由于需要商业特性,不能在OpenJDK中使用。通过Docker在CentOS上部署了一个示例项目,并详细说明了如何配置Dockerfile以开启Flight Recorder和远程监控。最后,展示了如何使用JMC进行远程连接和采样分析。
摘要由CSDN通过智能技术生成

JRE版本:oracle jre8

Docker版本:docker-ce 19.03.08

CentOS版本:centos8

飞行记录器属于JMC,JMC的全称是Java Mission Control,在jdk的安装目录里面就可以找到这个工具。

从oracle的官网来看,JMC和飞行记录器是官方很重视的性能分析工具,它们实际使用起来也比MAT这种东西要方便实用得多,官方对于它的描述是:Advanced Java Diagnostics and Monitoring Without Performance Overhead。关于版本等更多的信息可以查看官网:https://docs.oracle.com/javacomponents/index.html。

这里需要注意的一点是,JMC可以用于java7以上的所有版本,而飞行记录器,只能用于oracle jre,且是java7及以上的版本,因为要使用飞行记录器,需要开启jvm的商业特性,也就是在启动的时候加上参数:"-XX:+UnlockCommercialFeatures","-XX:+FlightRecorder"。如果是open jdk,尝试加这两个参数的时候,会直接导致虚拟机终止,无法正常启动。所以,飞行记录器只能局限在oracle jdk里面使用。

下面演示如何开启飞行记录器,并远程监控服务器的jvm。这里我基于docker来做。

1.使用ide创建一个简单的demo项目,随便什么项目都可以,打成jar包,放到Linux服务器的home/java目录里面。

2.创建一个oracle jre8镜

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值