无法通过JMC或FlameViewer查看JFR文件火焰图的问题排查
问题排查与解决方案
一、JMC火焰图空白的问题
你当前配置的jmc.ini里-vm参数路径有误,正确配置应该指向Java可执行文件而非bin目录:
-vm /usr/lib/jvm/java-17-amazon-corretto/bin/java
修改后重启JMC再打开JFR文件尝试。如果仍空白,考虑JMC 8对JDK17生成的JFR兼容性不足,建议更换JMC 9及以上版本(适配JDK11+的JFR格式)。同时检查JMC视图切换:确保打开的是CPU火焰图视图,且没有设置不合理的时间范围过滤。
二、FlameViewer插件报错的问题
日志中的NullPointerException说明插件无法正确解析你的JFR文件,核心原因大概率是版本兼容性:
- 先将FlameViewer插件更新到最新版本,旧版本可能不支持JDK17生成的JFR格式。
- 若更新后仍报错,尝试开启插件的本地解析模式(部分版本支持本地处理JFR而非上传)。也可以换用免费命令行工具
jfr-flame-graph直接生成SVG火焰图,命令示例:
java -jar jfr-flame-graph.jar flight.jfr > flame.svg
内容的提问来源于stack exchange,提问作者ThCollignon
相关产品推荐
相关产品推荐

