来自JRockit的礼物:JMC虚拟机诊断工具

JMC(JRockit Mission Control)是Oracle JDK中的一个强大的虚拟机诊断工具,用于性能监控和诊断。它包括JFR(Java Flight Recorder),用于记录JVM事件历史数据,帮助分析性能瓶颈。获取JFR文件有三种方法:静态命令行、动态命令行和系统退出时自动保存。JMC提供CPU、内存、I/O等方面的分析,帮助开发者定位和优化问题。在CPU分析中,可以找到热点方法和调用堆栈;内存分析则能展示堆内存分配详情,有助于内存优化;I/O分析追踪系统读写情况,辅助故障排查。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

来自JRockit的礼物——JMC

在Oracle收购Sun之前,Oracle的JRockit虚拟机提供了一款叫作JRockitMissionControl的虚拟机诊断工具。在Oracle收购Sun之后,Oracle公司同时拥有了SunHotspot和JRockit两款虚拟机。根据Oracle对于Java的战略,在今后的发展中,会将JRockit的优秀特性移植到Hotspot上。其中,一个重要的改进就是在Sun的JDK中加入了JRockit的支持。在OracleJDK7update40之后,MissionControl这款工具已经绑定在OracleJDK中发布(很不幸,OpenJDK中并没有该工具)。这是一款集性能监控、诊断为一体的多功能工具。

安装完JDK后,可以在%JAVA_HOME%/bin目录下找到这个工具。如图6.114所示为JMC运行后的主界面。

一,得到JFR文件

为了更好地使用JMC对生产环境中的虚拟机进行监控,我们需要首先采集到程序执行时的JFR文件,即JavaFlightRecorder,Java飞行记录仪。它记录了JVM所有事件的历史数据,通过这些数据,程序性能分析人员可以结合以往的历史数据对JVM性能瓶颈进行分析诊断。JMC也正是利用了这个文件,统计出了程序执行时的性能指标。

得到JFR文件的方法主要有3种,第1种是通过Java虚拟机的静态命令行指定的,例如:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值