JMC 使用
Java Mission Control(JMC)是 JFR 数据的图形化分析工具,提供直观的性能问题诊断能力。
JMC 界面
JMC 的主要界面:
启动 JMC
连接 JVM
方式一:实时连接
方式二:打开录制文件
概览视图
概览视图显示系统运行状态的总体摘要:
关键指标:
- 飞行时间:录制时长
- 事件数量:采集的事件总数
- 内存趋势:堆内存使用曲线
- GC 暂停:GC 停顿时间线
内存视图
堆内存分析
分配分析
TLAB 分析
TLAB(Thread Local Allocation Buffer)分析显示各线程的分配情况。
代码视图
CPU 负载分析
热点方法
线程视图
线程状态
锁竞争分析
自动分析报告
JMC 内置了自动分析引擎,会识别常见的性能问题:
常见问题类型
问题详情
点击问题项,可以查看详细说明和建议:
JFR 模板配置
创建自定义模板
模板配置项
template.jfc
常用分析流程
流程一:GC 问题排查
流程二:CPU 问题排查
流程三:内存泄漏排查
本章小结
JMC 的核心功能:
- 概览视图:系统运行状态总览
- 内存视图:GC 和分配分析
- 代码视图:CPU 热点分析
- 线程视图:线程状态和锁竞争
- 自动分析:识别常见性能问题
延伸思考
JMC 与其他 Profiler 的区别?
- JMC:基于 JFR,低开销,生产环境友好,数据全面
- async-profiler:更轻量,适合火焰图
- JProfiler:商业工具,功能全面但有开销
建议先用 JMC 进行全面分析,再用其他工具深入特定问题。